


En C++, traduisez ce qui suit en chinois : Comptez le nombre de nombres entre L et R qui sont premiers par rapport à P
Dans le monde de la programmation informatique, trouver le nombre de nombres dans une plage donnée qui sont premiers par rapport à un nombre spécifique peut être une tâche courante. Les nombres relativement premiers, également appelés nombres premiers relatifs, sont des nombres qui n'ont pas de facteur commun autre que 1. Dans cet article, nous explorerons la recherche du nombre de nombres relativement premiers par rapport à un nombre spécifique P entre les entiers donnés L et R en utilisant le langage C++.
Grammaire
Nous allons d'abord décrire la syntaxe des méthodes que nous utiliserons dans les exemples de code suivants -
int countCoprimes(int L, int R, int P);
Algorithme
L'algorithme que nous utiliserons pour calculer le nombre de nombres premiers entre eux est le suivant −
Initialisez la variable count à 0, qui est utilisée pour stocker le nombre de nombres premiers entre eux.
Itérez chaque numéro en commençant par L jusqu'à R.
Pour chaque nombre, vérifiez s'il est relativement premier avec P.
Si num et P sont relativement premiers, augmentez le nombre de 1.
Renvoie la valeur finale du nombre.
Méthode 1 : Méthode naïve
La première méthode dont nous discuterons est la méthode naïve. Afin de vérifier la coprimité avec P à l'aide de l'algorithme d'Euclide, cette méthode nécessite de vérifier itérativement chaque nombre dans une plage spécifiée.
La traduction chinoise deExemple
est :Exemple
#include <iostream> int countCoprimes(int L, int R, int P) { int count = 0; for (int num = L; num <= R; num++) { int a = num; int b = P; while (b != 0) { int temp = b; b = a % b; a = temp; } if (a == 1) count++; } return count; } int main() { int L = 1; // Set the starting range value int R = 100; // Set the ending range value int P = 7; // Set the value of P int result = countCoprimes(L, R, P); std::cout << "Count of numbers between " << L << " and " << R << " coprime with " << P << ": " << result << std::endl; return 0; }
Sortie
Count of numbers between 1 and 100 coprime with 7: 86
Explication
est :Explication
La fonction countCoprimes accepte trois paramètres : L (valeur de plage de départ), R (valeur de plage de fin) et P (valeur de P).
Dans la fonction countCoprimes, nous initialisons une variable count à 0, qui stockera le nombre de coprimes.
La boucle for itère chaque numéro numérique de L à R.
Dans la boucle, on initialise les variables a et b à num et P respectivement.
Nous utilisons l'algorithme euclidien dans une boucle while pour trouver le plus grand diviseur commun (PGCD) de a et b en échangeant et en effectuant des opérations modulaires à plusieurs reprises.
Si GCD (stocké dans a) est égal à 1, cela signifie que num et P sont premiers entre eux. Dans ce cas, nous incrémentons la variable count.
Nous finalisons notre valeur de comptage en parcourant soigneusement tous les nombres et en la renvoyant une fois terminé.
Les fonctions principales attribuent judicieusement des valeurs appropriées aux variables L, R et P.
Nous appelons ensuite la fonction countCoprimes avec la valeur fournie et stockons le résultat dans la variable result.
Enfin, nous affichons le résultat, qui est le nombre de nombres entre L et R qui sont premiers par rapport à P.
Méthode 2 : Décomposition en facteur premier
Cette stratégie consiste à exploiter la factorisation première de P pour calculer avec précision le nombre d'entiers premiers entre eux compris entre L et R.
La traduction chinoise deExemple
est :Exemple
#include <iostream> #include <unordered_set> int countCoprimes(int L, int R, int P) { std::unordered_set<int> factors; int tempP = P; for (int i = 2; i * i <= tempP; i++) { while (tempP % i == 0) { factors.insert(i); tempP /= i; } } if (tempP > 1) factors.insert(tempP); int count = 0; for (int num = L; num <= R; num++) { bool isCoprime = true; for (int factor : factors) { if (num % factor == 0) { isCoprime = false; break; } } if (isCoprime) count++; } return count; } int main() { int L = 1; // Set the starting range value int R = 100; // Set the ending range value int P = 7; // Set the value of P int result = countCoprimes(L, R, P); std::cout << "Count of numbers between " << L << " and " << R << " coprime with " << P << ": " << result << std::endl; return 0; }
Sortie
Count of numbers between 1 and 100 coprime with 7: 86
Explication
est :Explication
La fonction countCoprimes accepte trois paramètres : L (valeur de plage de départ), R (valeur de plage de fin) et P (valeur de P).
Nous créons un ensemble non ordonné de facteurs pour stocker les facteurs premiers de P. Nous initialisons une variable temporaire tempP à P.
Nous itérons de 2 à la racine carrée de tempP. Si tempP est divisible par i, nous ajoutons i à l'ensemble des facteurs et divisons tempP par i jusqu'à ce que tempP ne soit plus divisible par i.
Si tempP est supérieur à 1 après la boucle ci-dessus, cela signifie qu'il s'agit lui-même d'un nombre premier et qu'il doit être ajouté au facteur.
Nous initialisons la variable count à 0, qui stockera le nombre de nombres premiers entre eux.
Nous parcourons chaque nombre numérique de L à R et vérifions s'il est divisible par un facteur dans les facteurs définis. Si nous le pouvons, nous le qualifions de non-coprime.
Après avoir terminé l'itération de tous les nombres, le décompte résultant sera renvoyé comme valeur finale. Quant à la fonction main, elle initialise L, R et P avec les valeurs spécifiées.
Nous appelons ensuite la fonction countCoprimes avec la valeur fournie et stockons le résultat dans la variable result.
Enfin, nous affichons le résultat, qui est le nombre de nombres entre L et R qui sont premiers par rapport à P.
Conclusion
Calculer des nombres premiers entre eux dans une plage spécifiée L-R et satisfaire une valeur spécifique P est un bon défi pour les programmeurs - mais au niveau du code, quelle est la meilleure approche ? Dans le cadre de cet article, nous examinons en profondeur deux cas d’utilisation du C++ qui offrent une réelle efficacité lors de la résolution de problèmes comme celui-ci. Premièrement, en parcourant toutes les valeurs dans l'intervalle cible et en utilisant l'algorithme euclidien pour vérifier si les nombres correspondent en tant que nombres premiers entre eux, et également en utilisant la méthode de la fonction Euler, qui utilise une stratégie d'optimisation ; Quelle que soit la méthode que vous utilisez, la possibilité d'en tirer le meilleur parti dépend en grande partie de facteurs contextuels, tels que les nombres que vous choisissez et les intervalles que vous spécifiez, mais choisir judicieusement entre les deux méthodes possibles peut vraiment accélérer les choses dans l'ensemble. vitesse du programme. Pour les codeurs qui cherchent à ajouter des connaissances techniques à leurs compétences techniques et à leurs capacités créatives de résolution de problèmes, maîtriser le comptage de nombres premiers avec C++ grâce à ces méthodes peut être exactement ce dont ils ont besoin.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

La multiplication matricielle générale (GEMM) est un élément essentiel de nombreuses applications et algorithmes, et constitue également l'un des indicateurs importants pour évaluer les performances du matériel informatique. Une recherche approfondie et l'optimisation de la mise en œuvre de GEMM peuvent nous aider à mieux comprendre le calcul haute performance et la relation entre les systèmes logiciels et matériels. En informatique, une optimisation efficace de GEMM peut augmenter la vitesse de calcul et économiser des ressources, ce qui est crucial pour améliorer les performances globales d’un système informatique. Une compréhension approfondie du principe de fonctionnement et de la méthode d'optimisation de GEMM nous aidera à mieux utiliser le potentiel du matériel informatique moderne et à fournir des solutions plus efficaces pour diverses tâches informatiques complexes. En optimisant les performances de GEMM

WORD est un traitement de texte puissant. Nous pouvons utiliser Word pour éditer divers textes. Dans les tableaux Excel, nous maîtrisons les méthodes de calcul d'addition, de soustraction et de multiplicateurs. Ainsi, si nous avons besoin de calculer l'addition de valeurs numériques dans les tableaux Word, Comment soustraire le multiplicateur ? Puis-je utiliser uniquement une calculatrice pour le calculer ? La réponse est bien sûr non, WORD peut aussi le faire. Aujourd'hui, je vais vous apprendre à utiliser des formules pour calculer des opérations de base telles que l'addition, la soustraction, la multiplication et la division dans des tableaux dans des documents Word. Apprenons ensemble. Alors, aujourd'hui, permettez-moi de vous montrer en détail comment calculer l'addition, la soustraction, la multiplication et la division dans un document WORD ? Étape 1 : ouvrez un WORD, cliquez sur [Tableau] sous [Insérer] dans la barre d'outils et insérez un tableau dans le menu déroulant.

Comment utiliser la fonction count() de Python pour compter le nombre d'éléments dans une liste nécessite des exemples de code spécifiques. En tant que langage de programmation puissant et facile à apprendre, Python fournit de nombreuses fonctions intégrées pour gérer différentes structures de données. L'une d'elles est la fonction count(), qui peut être utilisée pour compter le nombre d'éléments dans une liste. Dans cet article, nous expliquerons en détail comment utiliser la fonction count() et fournirons des exemples de code spécifiques. La fonction count() est une fonction intégrée de Python, utilisée pour calculer un certain

Étant donné deux chaînes str_1 et str_2. Le but est de compter le nombre d'occurrences de la sous-chaîne str2 dans la chaîne str1 en utilisant une procédure récursive. Une fonction récursive est une fonction qui s'appelle dans sa définition. Si str1 est "Je sais que vous savez que je sais" et str2 est "savoir", le nombre d'occurrences est de -3 Comprenons à travers des exemples. Par exemple, entrez str1="TPisTPareTPamTP", str2="TP" ; sortie Countofoccurrencesofasubstringrecursi.

En C#, il existe une bibliothèque de classes Math, qui contient de nombreuses fonctions mathématiques. Il s'agit notamment de la fonction Math.Pow, qui calcule les puissances, ce qui peut nous aider à calculer la puissance d'un nombre spécifié. L'utilisation de la fonction Math.Pow est très simple, il suffit de spécifier la base et l'exposant. La syntaxe est la suivante : Math.Pow(base,exponent) ; où base représente la base et exponent représente l'exposant. Cette fonction renvoie un résultat de type double, c'est-à-dire le résultat du calcul de puissance. Allons

Introduction Le programme Java pour calculer l'aire d'un triangle à l'aide d'un déterminant est un programme concis et efficace qui peut calculer l'aire d'un triangle à partir des coordonnées de trois sommets. Ce programme est utile à toute personne qui apprend ou travaille avec la géométrie, car il montre comment utiliser les calculs arithmétiques et algébriques de base en Java, ainsi que comment utiliser la classe Scanner pour lire les entrées de l'utilisateur. Le programme demande à l'utilisateur les coordonnées de trois points du triangle, qui sont ensuite lues et utilisées pour calculer le déterminant de la matrice de coordonnées. Utilisez la valeur absolue du déterminant pour vous assurer que l'aire est toujours positive, puis utilisez une formule pour calculer l'aire du triangle et l'afficher à l'utilisateur. Le programme peut être facilement modifié pour accepter des entrées dans différents formats ou pour effectuer des calculs supplémentaires, ce qui en fait un outil polyvalent pour les calculs géométriques. rangs de déterminants

Nous montrerons comment calculer les scores totaux et les pourcentages à l'aide d'un programme Java. Le score total fait référence à la somme de tous les scores disponibles, tandis que le terme pourcentage fait référence au score calculé divisé par le score total et multiplié par le nombre obtenu 100. percent_of_marks=(obtained_marks/total_marks)×100 Exemple 1 Il s'agit d'un programme Java qui montre comment calculer les scores totaux et les pourcentages. //Programme Java pour démontrer comment les marques totales et les pourcentages sont calculés importjava.io.*;publicclassTotalMarks_

Conseils de traitement des dates PHP : Comment calculer la différence mensuelle entre les dates en utilisant PHP ? Le traitement des dates est une exigence très courante dans le développement Web, en particulier dans la logique métier qui doit être liée au temps. En PHP, le calcul de la différence mensuelle entre les dates peut être réalisé grâce à certaines méthodes. Cet article explique comment utiliser PHP pour calculer la différence mensuelle entre deux dates et fournit des exemples de code spécifiques. Méthode 1 : utilisez la classe DateTime. La classe DateTime de PHP fournit une multitude de méthodes de traitement des dates, notamment le calcul des dates.
