免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
java程序驗(yàn)證哥德巴赫猜想

在1742年給歐拉的信中哥德巴赫提出了以下猜想:任一大于2的偶數(shù)都可寫成兩個(gè)質(zhì)數(shù)之和。但是哥德巴赫自己無法證明它,于是就寫信請(qǐng)教赫赫有名的大數(shù)學(xué)家歐拉幫忙證明,但是一直到死,歐拉也無法證明。 因現(xiàn)今數(shù)學(xué)界已經(jīng)不使用“1也是素?cái)?shù)”這個(gè)約定,原初猜想的現(xiàn)代陳述為:任一大于5的整數(shù)都可寫成三個(gè)質(zhì)數(shù)之和。歐拉在回信中也提出另一等價(jià)版本,即任一大于2的偶數(shù)都可寫成兩個(gè)質(zhì)數(shù)之和。這就是哥德巴赫猜想Goldbach Conjecture

為了驗(yàn)證,我們首先需要搞清楚何為質(zhì)數(shù)?質(zhì)數(shù)(prime number)又稱素?cái)?shù),有無限個(gè)。除了1和它本身以外不再有其他的因數(shù)。根據(jù)算術(shù)基本定理,每一個(gè)比1大的整數(shù),要么本身是一個(gè)質(zhì)數(shù),要么可以寫成一系列質(zhì)數(shù)的乘積,最小的質(zhì)數(shù)是2。

基本思路:

對(duì)于任何一個(gè)大于2的偶數(shù)n,我們可以將其分解為對(duì)應(yīng)兩個(gè)數(shù)之和,如:n=1+(n-1),n=2+(n-2)……,n=(n/2-1)+(n/2+1),n=n/2+n/2,之后的組合如n=(n/2+1)+(n/2-1)已經(jīng)和之前的組合重復(fù)了,所以分解的一個(gè)數(shù)只要從1n/2就可以了,之后我們需要判斷組合的兩個(gè)數(shù)是否為質(zhì)數(shù),如果是質(zhì)數(shù),那么該組合舍棄,進(jìn)行下一對(duì)組合判斷,如果沒有直到結(jié)束也沒有出現(xiàn)合適組合,那么驗(yàn)證就失敗了。

那么如何判斷是不是質(zhì)數(shù)?在一般領(lǐng)域,對(duì)正整數(shù)n,如果用2到√n之間的所有整數(shù)去除,均無法整除,則n為質(zhì)數(shù)。質(zhì)數(shù)大于等于2不能被它本身和1以外的數(shù)整除。

  1. /** 
  2.      * 驗(yàn)證任一大于2的偶數(shù)都可寫成兩個(gè)質(zhì)數(shù)之和 
  3.      *  
  4.      * @param num 
  5.      */  
  6.     public static void 哥德巴赫猜想(long num) {  
  7.         // 首先將num分解為兩個(gè)奇數(shù)之和  
  8.         long num1, num2;  
  9.         for (num1 = 1; num1 <= num / 2; num1++) {  
  10.             num2 = num - num1;  
  1. <span style="white-space:pre">            </span>//分別判斷組合的兩個(gè)數(shù)字是否均為質(zhì)數(shù)  
  2.             if (isPrime(num1) && isPrime(num2)) {  
  3.                 System.out.println(num + "=" + num1 + "+" + num2);  
  4.             }  
  5.         }  
  6.     }  

  1. /** 
  2.      * 驗(yàn)證是否是質(zhì)數(shù) 
  3.      *  
  4.      * @param n 要判斷的數(shù)字 
  5.      * @return true or false 
  6.      */  
  7.     private static boolean isPrime(long n) {  
  1. <span style="white-space:pre">        </span>//1和2單獨(dú)判斷,1已經(jīng)不是素?cái)?shù),2是最小素?cái)?shù)  
  2.         if(n==1){  
  3.             return false;  
  4.         }else if(n==2){  
  5.             return true;  
  6.         }else{  
  7.             for (long i = 2; i <=Math.sqrt(n); i++) {  
  8.                 if(n%i==0)  
  9.                     return false;  
  10.             }  
  11.             return true;  
  12.         }  
  13.     }  
下圖是n=200時(shí)驗(yàn)證的結(jié)果:哥德巴赫猜想(200);



本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
反證法證明哥德巴赫猜想的成立
“哥德巴赫猜想”(1+1=2)疑是不可證明的一個(gè)簡單證明方法
哥德巴赫猜想的最簡證明
華為機(jī)試HJ60:查找組成一個(gè)偶數(shù)最接近的兩個(gè)素?cái)?shù)
數(shù)學(xué)之美(15)——孿生數(shù)猜想
2011哥德巴赫猜想的證明
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服