圣物兰达尔的愤世太刀:C 语言素数问题

来源:百度文库 编辑:神马品牌网 时间:2024/04/20 14:04:17
如果找到1-n范围内的素数,只需要进行除数为sqrt(n)即可,这是为什么 呢?

比如说 16,它的因子有:1、2、4、8、16,但是你去测试 8 和 16 有意义吗?16 = 2 * 8,只要测试 2 就行了,两个数肯定一个小于根号下 16(即 4),一个大于根号下 16,或者两个都等于根号下 16(16 = 4 * 4)。

因为假如有值因数的话肯定是a*b,不可能a,b都比SQRT(N)大,自己想想就知道了。