为甚求素数要用到2到sqrt(x)呢?
求素数的python代码如下:
import math
def prime(x):
if x == 1:
return False #输入的数是1 返回值是错误
n = int(math.sqrt(x)) #最短区间
for i in range(2,n):
if x % i ==0: # 余数是0就是有能被整除的数
return False
return True
=分析为什么是2到sqrt(x)?
答:嗐,一句话啦。一个数如果分解成两个数相乘的模样,用图分析就是面积啦。
1.面积一定的情况下,sqrt(x) * sqrt(x) ,正方形的面积最小了
2.在(2,sqrt(x))和 (sqrt(x),x),图像是图对称的