最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

利用Python對哥德巴赫猜想進(jìn)行檢驗(yàn)和推理

 更新時(shí)間:2022年12月07日 15:10:00   作者:??????  
數(shù)學(xué)是一個(gè)奇妙的東西,對此,也衍生出了許多的悖論與猜想。這篇文章會(huì)對哥德巴赫猜想用編程語言進(jìn)行檢驗(yàn)和推理,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下

一、前言

寫一篇優(yōu)質(zhì)一點(diǎn)的文章吧。

數(shù)學(xué)是一個(gè)奇妙的東西,對此,也衍生出了許多的悖論與猜想,例如整活(3)的生日悖論。

其實(shí),這樣的悖論和猜想還有很多很多。

這篇文章會(huì)對哥德巴赫猜想用編程語言進(jìn)行檢驗(yàn)和推理。

二、猜想簡介

哥德巴赫猜想,偶數(shù)猜想內(nèi)容為:任何一個(gè)大于4的偶數(shù)都可以表示成兩個(gè)質(zhì)數(shù)的和。

例如:4=2+2,6=3+3,8=3+5,10=5+5等等。

還有一個(gè)奇數(shù)的猜想,內(nèi)容為:任意一個(gè)大于7的奇數(shù)都可以表示成三個(gè)質(zhì)數(shù)的和。

例如:9=3+3+3,23=7+11+5,49=19+19+11,59=23+23+13等等。

要證明他是不容易的。我們以偶數(shù)猜想為例,問題迂回一下,“每一個(gè)大偶數(shù)可以表示成為一個(gè)素因子個(gè)數(shù)不超過a個(gè)的數(shù)與另一個(gè)素因子不超過b個(gè)的數(shù)之和”,我們暫且記作a+b,哥德巴赫猜想就是要證明1+1成立。

這個(gè)猜想有很多延伸版本:

9+9,7+7,6+6,5+7,4+9,3+15,2+366,5+5,4+4,1+c,3+4,3+3,2+3,1+5,1+4,1+3,1+2,s+t等等,這些已經(jīng)被證明了。

1+2由陳景潤證明,被稱為陳氏定理。

但是1+1仍然沒有證明。

三、偶數(shù)猜想

1.是否符合哥德巴赫猜想

這里,我們先計(jì)算一下1+1。

思路:

第一步:首先做一個(gè)尋找質(zhì)數(shù)的程序,保存到列表zhishu里面。

第二步:設(shè)置變量shu為4,之后死循環(huán),再套兩個(gè)for循環(huán)遍歷zhishu列表,如果兩個(gè)數(shù)相加的和為shu則退出循環(huán),shu+=2,再次重新執(zhí)行。

第三步:如果外層的for循環(huán)遍歷結(jié)束之后還是沒有找到則提醒這個(gè)數(shù)違反哥德巴赫猜想,之后堵塞。

第四步:python計(jì)算較久,給個(gè)安慰進(jìn)度。

代碼如下:

shu=4#初始化變量:shu
zhishu=[]#保存質(zhì)數(shù)的列表
 
while 1:#死循環(huán)便于except語句重新
    try:#異常捕獲
        a=int(input("質(zhì)數(shù)的最大值?"))#詢問質(zhì)數(shù)的最大值
        if a>=10000:#過大提示
            print("您所填的數(shù)有點(diǎn)大,請耐心等待偵測")#給個(gè)心理準(zhǔn)備
        if a<251:#填的數(shù)過小
            print("這么???你沒事吧")#提示
            raise(ValueError())#強(qiáng)制報(bào)錯(cuò)
        break#沒有錯(cuò)誤則退出循環(huán)
    except:#如果異常
        print("重新填")#提示
#質(zhì)數(shù)檢測
for i in range(2,a):#循環(huán)檢測每一個(gè)數(shù)是不是質(zhì)數(shù)
    for j in range(2,i-1):#循環(huán)檢測這個(gè)數(shù)有沒有其他因數(shù)
        if i%j==0:#如果有
            break#退出循環(huán),直接下一個(gè)數(shù)
    else:#如果循環(huán)為正常結(jié)束就是這是一個(gè)質(zhì)數(shù)
        zhishu.append(i)#列表zhishu添加
#開始檢測違反哥德巴赫猜想的數(shù)
while 1:#死循環(huán)檢測
    for i in zhishu:#第一個(gè)加數(shù)
        for j in zhishu:#第二個(gè)加數(shù)
            if i+j==shu:#兩個(gè)加數(shù)和為shu則是符合哥德巴赫猜想
                break#退出循環(huán)
        if i+j==shu:#在檢測一遍來退出前面的循環(huán)
            break#退出循環(huán)
    else:#如果是正常結(jié)束的循環(huán)就是違反哥德巴赫猜想
        print(shu,"愣著干啥?申請專利??!")#直接申請專利好吧
        break#退出循環(huán)到堵塞地帶
    shu+=2#shu自增2,保持他是偶數(shù)
    if shu%500==0:#安慰進(jìn)度
        print(shu,"以內(nèi)沒有")#提醒
    if shu>a:#到了這里可能出現(xiàn)誤判所以退出
        print("檢測到頭了!")#提示
        break#退出循環(huán)
while True:#堵塞地帶
    a=input("請退出程序")#input堵塞

具體的詳細(xì)解釋請看注釋。

這就是簡單的哥德巴赫猜想檢驗(yàn)程序。不過因?yàn)閜ython的程序慢死了,所以,我們可以用C++。

2.輸入偶數(shù),輸出兩個(gè)質(zhì)數(shù)

我們試著讓用戶輸入一個(gè)偶數(shù),輸出這個(gè)偶數(shù)變成兩個(gè)質(zhì)數(shù)的和的結(jié)果。

這樣的程序更簡單了一點(diǎn)。

思路:

第一步:還是尋找所有質(zhì)數(shù)保存到zhishu列表里面。

第二步:獲取用戶輸入(try語句排除錯(cuò)誤)及偵測是否是偶數(shù),否則拋出異常讓except接受并輸出:“請檢查輸入是否為數(shù)字且為偶數(shù)。”

第三步:兩層for遍歷質(zhì)數(shù),如果和為這個(gè)數(shù)則輸出并跳出。

第四步:完善異常捕捉和不符合哥德巴赫猜想。

zhishu=[]#儲(chǔ)存質(zhì)數(shù)的列表
for i in range(2,10000):#循環(huán)檢測質(zhì)數(shù)
    for j in range(2,i-1):#2到i內(nèi)的每一個(gè)數(shù)
        if i%j==0:#如果i不是質(zhì)數(shù)
            break#退出循環(huán)
    else:#如果正常結(jié)束循環(huán)就是i是質(zhì)數(shù)
        zhishu.append(i)#zhishu添加i
 
while 1:#死循環(huán)輸入輸出
    try:#異常捕獲
        shu=int(input("請輸入數(shù)字"))#獲取數(shù)
        if shu>10000 or shu<4 or shu%2==1:#必須是4到10000內(nèi)的偶數(shù)
            print("這個(gè)數(shù)必須是4到10000以內(nèi)的偶數(shù)!")#提示
            continue#重新開始循環(huán)
        for i in zhishu:#遍歷第一個(gè)加數(shù)
            for j in zhishu:#遍歷第二個(gè)加數(shù)
                if i+j==shu:#如果成立
                    print(f"{i}+{j}={shu}")#輸出
                    break#跳出循環(huán)
            if i+j==shu:#再次判斷
                break#再次跳出循環(huán)
        else:#如果這個(gè)數(shù)不符合哥德巴赫猜想
            print(shu,"申請專利去!")#提示
    except:#如果異常
        print("請輸入正確")#提示

思路還是看注釋。這種方法就彌補(bǔ)了python的運(yùn)行速度慢,和C++比起來差913個(gè)(1坤個(gè))德芙的缺點(diǎn)。

四、奇數(shù)猜想

1.檢測是否符合

接下來,我們檢測奇數(shù)猜想是否成立。

思路:

第一步:初始化變量,獲取用戶的檢測范圍。

第二步:找到質(zhì)數(shù)保存到zhishu列表里面。

第三步:四層循環(huán),一層while三層for持續(xù)檢測。

第四步:如果等式成立,一步一步break退出循環(huán)。

第五步:循環(huán)退出后shu自己加二,完善不符合哥德巴赫猜想的情況。

zhishu=[]#儲(chǔ)存質(zhì)數(shù)的列表
shu=7#初始化變量shu
 
while 1:
    try:
        a=int(input("輸入循環(huán)次數(shù),越大可糾察數(shù)越多但是速度越慢"))
        if a<1000 or a>20000:
            raise(valueError())
        break
    except:
        print("請正確輸入")
        print("填寫的數(shù)最好在1000到20000之間")
for i in range(2,a):#循環(huán)檢測質(zhì)數(shù)
    for j in range(2,i-1):#2到i內(nèi)的每一個(gè)數(shù)
        if i%j==0:#如果i不是質(zhì)數(shù)
            break#退出循環(huán)
    else:#如果正常結(jié)束循環(huán)就是i是質(zhì)數(shù)
        zhishu.append(i)#zhishu添加i
 
while shu<a:#死循環(huán)輸出
    for i in zhishu:#第一層循環(huán),i為第一個(gè)數(shù)
        for j in zhishu:#第二層循環(huán),j為第二個(gè)數(shù)
            for k in zhishu:#第三層循環(huán),k為第三個(gè)數(shù)
                if i+j*k==shu:#如果公式成立
                    print(i,"+",j,"*",k,"=",shu)#輸出
                    break#退出循環(huán)
            if i+j*k==shu:#如果等式成立
                break#再次退出循環(huán)
        if i+j*k==shu:#如果等式成立
            break#再再再次退出循環(huán)
    else:#如果循環(huán)正常結(jié)束,就是不符合哥德巴赫猜想
        print(shu,"申請專利去??!")#提示
        break#退出大循環(huán)
    shu+=2#shu加2
print("結(jié)束")#退出大循環(huán)后提示

思路還還還是看注釋。

2.給出一數(shù)返回三數(shù)

接下來,還是嘗試一下用戶給出一個(gè)奇數(shù),返回他的三個(gè)質(zhì)數(shù)之和的形式。

思路:

第一步:在偶數(shù)哥德巴赫猜想的基礎(chǔ)上多加一層循環(huán)。

第二步:退出循環(huán)也多加一個(gè)。

第三步:判斷條件和輸出改變一下。

zhishu=[]#儲(chǔ)存質(zhì)數(shù)的列表
for i in range(2,10000):#循環(huán)檢測質(zhì)數(shù)
    for j in range(2,i-1):#2到i內(nèi)的每一個(gè)數(shù)
        if i%j==0:#如果i不是質(zhì)數(shù)
            break#退出循環(huán)
    else:#如果正常結(jié)束循環(huán)就是i是質(zhì)數(shù)
        zhishu.append(i)#zhishu添加i
 
while 1:#死循環(huán)輸入輸出
    try:#異常捕獲
        shu=int(input("請輸入數(shù)字"))#獲取數(shù)
        if shu>10000 or shu<7 or shu%2==0:#必須是4到10000內(nèi)的偶數(shù)
            print("這個(gè)數(shù)必須是7到10000以內(nèi)的奇數(shù)!")#提示
            continue#重新開始循環(huán)
        for i in zhishu:#遍歷第一個(gè)加數(shù)
            for j in zhishu:#遍歷第二個(gè)加數(shù)
                for k in zhishu:#遍歷第三個(gè)加數(shù)
                    if i+j+k==shu:#如果成立
                        print(f"{i}+{j}+{k}={shu}")#輸出
                        break#跳出循環(huán)
                if i+j+k==shu:#再次判斷
                    break#再次跳出循環(huán)
            if i+j+k==shu:#再再再次判斷
                break#再再再次跳出循環(huán)
        else:#如果這個(gè)數(shù)不符合哥德巴赫猜想
            print(shu,"申請專利去!")#提示
    except:#如果異常
        print("請輸入正確")#提示

與其說是自己寫,不如說是將一個(gè)程序升級改變的練手程序,將偶數(shù)哥德巴赫猜想的程序升級成奇數(shù)哥德巴赫猜想。

到此這篇關(guān)于利用Python對哥德巴赫猜想進(jìn)行檢驗(yàn)和推理的文章就介紹到這了,更多相關(guān)Python哥德巴赫猜想內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python如何基于smtplib發(fā)不同格式的郵件

    Python如何基于smtplib發(fā)不同格式的郵件

    這篇文章主要介紹了Python如何基于smtplib發(fā)不同格式的郵件,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-12-12
  • 淺談django三種緩存模式的使用及注意點(diǎn)

    淺談django三種緩存模式的使用及注意點(diǎn)

    這篇文章主要介紹了淺談django 三種緩存模式的使用及注意點(diǎn),詳細(xì)的介紹了三種緩存模式,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2018-09-09
  • Python中用于去除空格的三個(gè)函數(shù)的使用小結(jié)

    Python中用于去除空格的三個(gè)函數(shù)的使用小結(jié)

    這篇文章主要介紹了Python中用于去除空格的三個(gè)函數(shù)的使用小結(jié),對strip()和lstrip()和rstrip()這三個(gè)函數(shù)做了簡單的講解,需要的朋友可以參考下
    2015-04-04
  • 淺談利用numpy對矩陣進(jìn)行歸一化處理的方法

    淺談利用numpy對矩陣進(jìn)行歸一化處理的方法

    今天小編就為大家分享一篇淺談利用numpy對矩陣進(jìn)行歸一化處理的方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-07-07
  • Pycharm激活方法及詳細(xì)教程(詳細(xì)且實(shí)用)

    Pycharm激活方法及詳細(xì)教程(詳細(xì)且實(shí)用)

    這篇文章主要介紹了Pycharm激活方法及詳細(xì)教程,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2020-05-05
  • 利用Python的PyPDF2庫提取pdf中的圖片

    利用Python的PyPDF2庫提取pdf中的圖片

    本篇給大家分享一下通過Python的PyPDF2庫提取pdf中的圖片方法,文中有詳細(xì)的代碼示例和流程步驟,感興趣的同學(xué)可以閱讀一下
    2023-05-05
  • 如何基于Python和Flask編寫Prometheus監(jiān)控

    如何基于Python和Flask編寫Prometheus監(jiān)控

    這篇文章主要介紹了如何基于Python和Flask編寫Prometheus監(jiān)控,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-11-11
  • pytorch框架的詳細(xì)介紹與應(yīng)用詳解

    pytorch框架的詳細(xì)介紹與應(yīng)用詳解

    這篇文章主要介紹了pytorch框架的詳細(xì)介紹與應(yīng)用,Torch?是一個(gè)經(jīng)典的對多維矩陣數(shù)據(jù)進(jìn)行操作的張量(tensor?)庫,在機(jī)器學(xué)習(xí)和其他數(shù)學(xué)密集型應(yīng)用有廣泛應(yīng)用,本文給大家詳細(xì)講解,需要的朋友可以參考下
    2023-04-04
  • python讀取tif圖片時(shí)保留其16bit的編碼格式實(shí)例

    python讀取tif圖片時(shí)保留其16bit的編碼格式實(shí)例

    今天小編就為大家分享一篇python讀取tif圖片時(shí)保留其16bit的編碼格式實(shí)例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-01-01
  • pycharm中導(dǎo)入不了torch包的解決方案

    pycharm中導(dǎo)入不了torch包的解決方案

    這篇文章主要介紹了pycharm中導(dǎo)入不了torch包的解決方案,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-08-08

最新評論

遂昌县| 潜山县| 中卫市| 灌云县| 宁阳县| 同心县| 泊头市| 都昌县| 文成县| 南陵县| 和龙市| 海城市| 临潭县| 屏东市| 西畴县| 永安市| 鄂托克前旗| 教育| 遂昌县| 中西区| 芦山县| 太康县| 平邑县| 凉山| 江北区| 扶沟县| 崇文区| 石泉县| 遂川县| 郧西县| 岳普湖县| 南部县| 富锦市| 通城县| 三门峡市| 洪泽县| 扎兰屯市| 盘山县| 成武县| 克东县| 科技|