python找素数程序_Python编程学习,高效求解素数程序实例

1 #coding:utf-8 #设置python文件的编码为utf-8,这样就可以写入中文注释

2 defprimeRange(n):3 myArray=[1 for x in range(n+1)] ##列表解析,生成长度为(n+1)的列表,每个数值都为1

4 myArray[0]=05 myArray[1]=06 startPos=2

7 while startPos <=n:8 if myArray[startPos]==1:9 key=2

10 resultPos = startPos * key #可知startPos的整数倍都不是素数,设置startPos的整数倍的位置为0表示非素数

11 while resultPos <=n:12 myArray[resultPos] =013 key += 1

14 resultPos = startPos *key15 startPos += 1

16

17 resultList=[] ##将最终的素数保存在resultList列表返回

18 startPos=019 while startPos <=n:20 if myArray[startPos] == 1:21 resultList.append(startPos)22 startPos += 1

23 returnresultList24

25 numString=raw_input("Input the Range(>3):")26 numInt=int(numString)27 if numInt <= 3:28 print "The Number Need to be greater than 3"

29 else:30 primeResult=primeRange(numInt)31 print "The Result is:",primeResult

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值