Maison > développement back-end > C++ > Comment puis-je optimiser mon code C# pour une génération efficace de nombres premiers ?

Comment puis-je optimiser mon code C# pour une génération efficace de nombres premiers ?

Patricia Arquette
Libérer: 2025-01-13 22:08:46
original
632 Les gens l'ont consulté

How Can I Optimize My C# Code for Efficient Prime Number Generation?

Booster la génération de nombres premiers en C#

Votre code C# vise à identifier les nombres premiers dans une plage spécifiée, mais il est actuellement défectueux, ce qui n'entraîne aucun résultat. Le problème réside dans l'algorithme utilisé pour déterminer la primalité.

Comprendre le code :

La méthode prime_num tente de trouver des nombres premiers jusqu'à un num donné. Il initialise isPrime à true et parcourt les nombres de 0 à num. Pour chaque nombre i, il vérifie la divisibilité par les nombres de 2 à num. Si i est divisible par un nombre autre que lui-même, isPrime devient false. Seulement si isPrime reste true après toutes les vérifications, i est considéré comme premier et imprimé.

Identification de l'erreur :

L'erreur principale est l'incrément de la boucle externe (for (int i = 0; i <= num; i )). Cela inclut 0, qui n'est pas un nombre premier, et effectue des vérifications inutiles. La boucle interne effectue également des calculs redondants.

Une solution plus efficace :

Pour une génération optimale de nombres premiers, pensez au tamis d'Eratosthène. Cet algorithme améliore considérablement les performances en éliminant les multiples de chaque nombre premier, à partir de 2. Cela réduit considérablement le nombre de vérifications requises.

En bref, l'inefficacité du code original provient d'une itération de boucle incorrecte et de vérifications redondantes. L'emploi d'un algorithme plus efficace, comme le tamis d'Ératosthène ou un tamis à division d'essai, donnera les nombres premiers corrects beaucoup plus rapidement.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal