優雅的質數產生方法
本文探討如何以最優雅的方式產生質數列表。優雅的演算法應具備清晰、簡潔和高效的特點。
改良的埃拉托斯特尼篩法
一種方法是改良埃拉托斯特尼篩法。以下是一個體現優雅性的Java實作:
<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>
此演算法透過迭代去除已找到質數的倍數,高效地辨識出小於等於n的質數,確保精度和效率。
其他優雅的方案
除了改良的篩法,還可以考慮以下方法:
根據具體需求和對效率、簡潔性和可讀性的偏好,選擇最合適的方法來建立優雅的質數生成演算法。
以上是產生質數列表最優雅的方法是什麼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!