|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
import math
def is_prime(number):
if number > 1:
if number == 2:
return True
if number % 2 == 0:
return False
for current in range(3, int(math.sqrt(number) + 1), 2):
if number % current == 0:
return False
return True
return False
def get_primes(number):
while True:
if is_prime(number):
yield number
number += 1
def solve():
total = 2
for next_prime in get_primes(3):
if next_prime < 2000000:
total += next_prime
else:
print(total)
return
if __name__ == '__main__':
solve()
不太理解def is_prime(number):函数,最后的两个return True,return False。为什么会有这两个return 语句?他们的作用是什么?
首先你看最后一个return False,他是在if number > 1:这一层缩进的,表示number<=1的情况都表明这个是不是一个素数,
倒数第二个return这里是if number > 1这个分支里面的,表示如果上面的if和for都不满足的时候,证明这个数是一个素数(还是质数忘了题目了)
要记得,执行return就会跳出当前执行的结构体
|
|