编程求 2~ n(n 为大于 2 的正整数)中有多少个素数。
def find_primes(n):if n<=1:return Falsefor j in range(2, int(n ** 0.5) + 1):if n % j == 0:return Falsereturn Truex=int(input())
s=0
for i in range(2,x+1):if find_primes(i):s=s+1else:s=s
print(s)
解析:
- 在def find_primes(n)函数中,第一层for循环为依次循环判断2~x范围内的数。
- 第二层for循环为判断i的因子,如果if n % j == 0成立,则表示有其他因子,则i不是素数。
- 不是素数返回的结果为False,if find_primes(i)急用来判断返回的结果,如果是素数,s+1统计素数个数。
学习啦~