生成质数的最优雅方法
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 5年前关闭。 改善这个问题 什么是实现此功能的最佳方法: ArrayList generatePrimes(int n) 此函数生成第一个n素数(edit:where n>1),因此generatePrimes(5)将返回ArrayListwith {2, 3, 5, 7, 11}。(我正在用C#进行此操作,但是我对Java实现很满意-或其他与此类似的语言(因此没有Haskell))。 我确实知道如何编写此函数,但是昨晚当我这样做时,它并没有达到我希望的那样好。这是我想出的: ArrayList generatePrimes(int toGenerate) { ArrayList primes = new ArrayList(); primes.Add(2); primes.Add(3); while (primes.Count < toGenerate) { int nextPrime = (int)(primes[primes.Count - 1]) + 2; while (true) { bool isPrime = true; foreach (int n …