答案 0 :(得分:2)
由于您的程序有2个完全循环的for循环,因此程序时间复杂度为O(n ** 2),因此预计需要很长时间,因此可以在代码中进行一些优化:
import math
def is_prime(number):
for i in range(2, int(math.sqrt(number) + 1)):
if (number % i) == 0:
return False
return True
答案 1 :(得分:0)
从逻辑上考虑,范围越大,j的迭代/循环数越大。再一次,输入给is_prime的j的单个数目越大,i循环也越大。这样就增加了运行时间。
您的i循环需要更聪明。一旦计数大于2,是否需要再检查i个数字是否为j的因子? ;)