计算1009以内的质数程序:
一、 Readme
1、 通过递归计算出1009以内(不含1009)质数,1009是第169个质数,由于python的限制,递归会在999次后报错,所以只能判断到1008
2、 程序运行完成后会打印出质数列表,并写入文件。也可以根据函数的不同返回值将非质数写入文档
二、 程序代码及注释
#!/usr/bin/env python
#Author:lisheng
with open("prime.txt","w+") as f:
i = 0
def s(n,m=2):
if int(n/m) != n/m and m < n:
return s(n,m+1)
elif m == n:
print("%s is a prime!" %(n))
f.write("%s is a prime\t" %(n))
return "ok!"
else:
print("%s is not a prime!" % (n))
return "no!"#如果返回值没有的话,会出错,下面的if语句会报错
for n in range(2,1009):
b = s(n)
if "ok!" in b:
i += 1
f.write("%s\n" %(i))
print(i)