增加python运算质数的效率
本文最后更新于 411 天前,其中的信息可能已经有所发展或是发生改变。

前一阵子,小编发了一个用python运算质数的程序,后来想了想,觉得效率太低了,于是——

小编把程序改了一下,改成了这样:

import datetime,math,os
print ('''--------------------------输入‘cls’清除屏幕历史记录•---------------------------''')
while True:
    n = input('输入你要判断的数字:')
    n = range(1,1000)
    if n == 'cls':
        os.system('reset')
        print ('''--------------------------输入‘cls’清除屏幕历史记录---------------------------''')
        continue
    try:
        int(n)
    except:
        print('请输入正确的数字!')
        print('')
        continue
    else:
        n = int(n)
    novalue = [2,3]
    if n in novalue:
        print ('%i 是一个质数'%n)
        continue
    if n < = 1:
        print('输入的数字应当大于1!')
        continue
    starttime = datetime.datetime.now()
    temp = int(math.trunc(math.sqrt(n))+1)
    for i in range(2,temp):
        if n%i != 0:
            check = 'yes'
            continue
        elif int(n)%i == 0:
            print('%i 不是一个质数'%n)
            check = 'no'
            endtime = datetime.datetime.now()
            print ('运算时间'+str((endtime-starttime))+' s')
            print ('')
            break
    if check == 'yes':
        endtime = datetime.datetime.now()
        print('%i 是一个质数'%n)
        print ('运算时间'+str((endtime-starttime))+' s')
        print ('')

这样只用运算 (2——√n) 之间就行,运算效率会高一些,小编任然在找新的算法·········

其实原来的程序方法应该叫做试除法。

求大神指教

评论

  1. 6年前
    2014-12-06 15:08:58

    不能算会吧,看代码写成这个渣渣样子,都是一时心血来潮,暑假自学了冰山一角……

  2. 6年前
    2014-11-30 2:47:18

    博主会python?这么强啊

  3. 6年前
    2014-11-21 18:23:03

    我还在找新的算法,如果有,我会持续更新的,谢谢支持哦~~

  4. S.M╭⌒倾心之恋
    6年前
    2014-11-15 19:42:15

    真实用

发送评论 编辑评论


|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇