首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > perl python >

python求素数有关问题

2013-03-28 
python求素数问题本帖最后由 janelml 于 2013-03-21 14:32:30 编辑先看我的代码import math,sysnumber r

python求素数问题
本帖最后由 janelml 于 2013-03-21 14:32:30 编辑 先看我的代码

import math,sys
number = raw_input("input the number:")
number = int(number)
if(number<=1):
    print 'number <=1'
    sys.exit()
for i in range(2,int(math.sqrt(number)) + 1):
    if(number%i==0):
        print 'number %i is not prime number' %(number) 
        sys.exit()
print 'number %i is the prime number' %(number)

这里在数据量小的情况下是可以使用的,一旦输入的Number比较大,如400000000,会报memory error,这个怎么解决呢?谢谢大家关注 python math input
[解决办法]
求素数的算法一般只要num/2次运算就够了,
如 count = num/2
          
    while count > 1:
        if num % count ==0:
            "num is not a prime"
        count -=1
    else:
        print "true"
没有测试过哈,还有就是2是唯一的偶质数

热点排行