本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。
素数就是不能再进行等分的整数。比如: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的话,就一定是素数