题目描述
本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。
素数就是不能再进行等分的整数。比如:17,11。而 9 不是素数,因为它可以平分为 3 等份。一般认为最小的素数是2,接着是 3,5,.....
请问,第 100002(十万零二)个素数是多少?
请注意:“2” 是第一素数,“3” 是第二个素数,依此类推。
参考代码:
def f(x):
for i in range(2, int(x**0.5)+1): #int是整型,取整数
if x % i == 0: #判断是否为素数
return 0
return 1
s = 0 # 第几个素数
a = 1 # 第几个数
while s != 100002:
a += 1
if f(a) == 1:
s += 1
print(a)
#print(1299743)
如果一个数字不是素数,那么必定可以表示为a x b的形式,这里假如a为较小的数,那么a<= sqrt(number),如果试到平方根,还是找不到这个a的话,就一定是素数