Une façon élégante de générer des nombres premiers
Cet article explore comment générer une liste de nombres premiers de la manière la plus élégante. Un algorithme élégant doit être clair, concis et efficace.
Tamis amélioré d'Eratosthène
Une méthode consiste à améliorer le tamis d'Eratosthène. Ce qui suit est une implémentation Java élégante :
<code class="language-java">public static ArrayList<Integer> generatePrimes(int n) { ArrayList<Integer> primes = new ArrayList<>(); boolean[] isPrime = new boolean[n + 1]; Arrays.fill(isPrime, true); isPrime[0] = isPrime[1] = false; for (int i = 2; i * i <= n; i++) { if (isPrime[i]) { for (int j = i * i; j <= n; j += i) { isPrime[j] = false; } } } for (int i = 2; i <= n; i++) { if (isPrime[i]) { primes.add(i); } } return primes; }</code>
Cet algorithme identifie efficacement les nombres premiers inférieurs ou égaux à n en supprimant de manière itérative les multiples des nombres premiers trouvés, garantissant ainsi précision et efficacité.
Autres solutions élégantes
En plus de la méthode de tamisage améliorée, les méthodes suivantes peuvent également être envisagées :
Choisissez l'approche la plus appropriée pour créer des algorithmes élégants de génération de nombres premiers en fonction de vos besoins et préférences spécifiques en matière d'efficacité, de simplicité et de lisibilité.
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!