mbmc.net
当前位置:首页 >> python 素数 求答疑 >>

python 素数 求答疑

1,测试一个数是否素数只需要测试到平方根附近。超出多余,比如36的平方根是6,超过平方根的9,在测试2-7中的4时会被测试出来,超过平方根的12会被2-7中的3测试出来 2,你展开的不对 h = [] for i in range(2,100): zeronotin = True for n in r...

i = 2 print '200以内的素数为' while i < 200: n = 2 while n i / n): print i, i = i + 1 这是我写的python找素数的代码,python版本位2.7.8

因为缩进问题后者第二个if依然在循环体里, 如i==y,依然会执行第二个if。

如果要追求一下速度的话,可以试试这个(求1千万内素数12.58秒). :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: def getPrime(maxNum): aList = [x for x in range(0,maxNum)] prime...

用 python 2.7 写出来是这样的,break 后是 j = j + 1,是第二个 while 里的动作, j

第4行的n = 0该写在for j的外面,不然你for j每跑一次它就变0,那么下面的 n == 2永远是False

直接求质数你应该会吧,你可以先把n以内的质数求出来,放到一个列表z中,然后判断列表里的元素z[i]+2在不在列表z中,

def primes(x): # prepair data space plist = [0, 0] + range(2,x+1) for i in xrange(2, x): if plist[i]: plist[i+i::i] = [0] * len(plist[i+i::i]) return filter(None, plist) print primes(100)筛选法是高效的素数列表计算算法, python的...

赋值个初始值,相当于告诉程序,定义了一个变量, 当然,在第2个for循环中,j=2是为了让每次大循环,都从2开始判断整除性。 for j in range(2,2) 相当于令j=2

i = 2 while i

网站首页 | 网站地图
All rights reserved Powered by www.mbmc.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com