我一直在尝试通过Euler项目进行工作,并且注意到一些问题要求您确定质数作为它的一部分。
我知道我可以将x除以X的2、3、4、5,…,平方根,如果到达平方根,则可以(安全地)假定数字为质数。不幸的是,这种解决方案似乎很笨拙。
我已经研究了更好的算法来确定数字是否为质数,但是很快就会感到困惑。
是否有一种简单的算法可以确定X是否为质数,而不会使纯粹的凡人程序员感到困惑?
非常感谢!
第一个算法非常好,并且在Euler项目上使用了很多。如果您知道所需的最大数量,也可以研究Eratosthenes的筛子。
如果维护素数列表,则还可以优化第一个算法以仅用素数除,直到数字的平方根。
有了这两个算法(划分和筛分),您应该能够解决问题。
编辑 :固定名称,如注释中所述