免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1521 | 回复: 0
打印 上一主题 下一主题

判断质数 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-06-03 00:25 |只看该作者 |倒序浏览
记得在坛子里有过一个质数求解的贴子
http://bbs.chinaunix.net/forum/v ... der=asc&start=0
用SHELL我还搞不定,用python写了个,不过只是判断一个数是否为质数;哈哈 有点不对题 :em12: ;可能性能不怎么样,我也刚学,又不知发那好就发这吧,希望有点用处,还请版主别册,放几天.实在是找不到什么有人气的PYTHON论坛,或者我懒吧 :em12:  :em12:  :em12:
  1. # Name prime-judge

  2. import math

  3. number=raw_input("Enter a integer: ")
  4. integer=int(number)
  5. string=number[ len(number) - 1 ]
  6. integer1=int(string)
  7. float=math.sqrt(integer)
  8. tmp=math.floor(float)
  9. isodd=0

  10. def f2d(x):
  11.     return "%d" % x

  12. def printMate():
  13.     print "This is a mate number"

  14. def printOdd():
  15.     print "This is a odd number"

  16. def printPrime():
  17.     print "This is a prime number"

  18. M=int( f2d(tmp) )

  19. if integer1 % 2 ==0:
  20.    printMate()
  21. elif integer % 3 == 0 or integer % 5 == 0 or integer % 7 ==0:
  22.    printOdd()
  23. elif float -tmp == 0:
  24.    printOdd()
  25. elif M % 2 == 0:
  26.    odd=range(3,M,2)
  27.    for i in list(odd):
  28.        if integer % i == 0:
  29.           isodd +=1
  30.           print i,"x",integer / i
  31.           printOdd()
  32.           break
  33.    if isodd == 0:
  34.       printPrime()
  35. else:
  36.    odd=range(3,M+1,2)
  37.    for i in list(odd):
  38.        if integer % i == 0:
  39.           isodd +=1
  40.           print i,"x",integer / i
  41.           printOdd()
  42.           break
  43.    if isodd == 0:
  44.       printPrime()
复制代码

有兴趣的朋友可以交流下就太好了.QQ:358314689  注明python
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP