C語言編程學(xué)習(xí)驗(yàn)證世界近代三大數(shù)學(xué)難題之一《哥德巴赫猜想》

C語言是面向過程的,而C++是面向?qū)ο蟮?/p>

C和C++的區(qū)別:

C是一個(gè)結(jié)構(gòu)化語言,它的重點(diǎn)在于算法和數(shù)據(jù)結(jié)構(gòu)。C程序的設(shè)計(jì)首要考慮的是如何通過一個(gè)過程,對(duì)輸入(或環(huán)境條件)進(jìn)行運(yùn)算處理得到輸出(或?qū)崿F(xiàn)過程(事務(wù))控制)。

C++,首要考慮的是如何構(gòu)造一個(gè)對(duì)象模型,讓這個(gè)模型能夠契合與之對(duì)應(yīng)的問題域,這樣就可以通過獲取對(duì)象的狀態(tài)信息得到輸出或?qū)崿F(xiàn)過程(事務(wù))控制。 所以C與C++的最大區(qū)別在于它們的用于解決問題的思想方法不一樣。之所以說C++比C更先進(jìn),是因?yàn)椤?設(shè)計(jì)這個(gè)概念已經(jīng)被融入到C++之中 ”。

C與C++的最大區(qū)別:在于它們的用于解決問題的思想方法不一樣。之所以說C++比C更先進(jìn),是因?yàn)椤?設(shè)計(jì)這個(gè)概念已經(jīng)被融入到C++之中 ”,而就語言本身而言,在C中更多的是算法的概念。那么是不是C就不重要了,錯(cuò)!算法是程序設(shè)計(jì)的基礎(chǔ),好的設(shè)計(jì)如果沒有好的算法,一樣不行。而且,“C加上好的設(shè)計(jì)”也能寫出非常好的東西。


數(shù)學(xué)是什么?在學(xué)霸眼中這只是一門小小的學(xué)科,但是在學(xué)渣眼中,這就是噩夢(mèng)!那么今天,我們就來走進(jìn)這噩夢(mèng)中的噩夢(mèng),世界近代三大數(shù)學(xué)難題之一的《哥德巴赫猜想》!

小編推薦一個(gè)學(xué)C語言/C++的學(xué)習(xí)裙【 六九九,四七零,五九六 】,無論你是大牛還是小白,是想轉(zhuǎn)行還是想入行都可以來了解一起進(jìn)步一起學(xué)習(xí)!裙內(nèi)有開發(fā)工具,很多干貨和技術(shù)資料分享!

1742年6月7日,哥德巴赫寫信給歐拉,提出了著名的哥德巴赫猜想:隨便取某一個(gè)奇數(shù),比如77,可以把它寫成三個(gè)素?cái)?shù)之和,即77=53+17+7;再任取一個(gè)奇數(shù),比如461,可以表示成461=449+7+5,也是三個(gè)素?cái)?shù)之和,461還可以寫成257+199+5,仍然是三個(gè)素?cái)?shù)之和。例子多了,即發(fā)現(xiàn)“任何大于5的奇數(shù)都是三個(gè)素?cái)?shù)之和?!?/p>

1742年6月30日歐拉給哥德巴赫回信。這個(gè)命題看來是正確的,但是他也給不出嚴(yán)格的證明。同時(shí)歐拉又提出了另一個(gè)命題:任何一個(gè)大于2的偶數(shù)都是兩個(gè)素?cái)?shù)之和。但是這個(gè)命題他也沒能給予證明。

然后就把這個(gè)猜想問題給遺留下來了,然而數(shù)學(xué)的計(jì)算量問題是一個(gè)很大的困難,依靠人力來計(jì)算非常吃力,這時(shí)候采用計(jì)算機(jī)來驗(yàn)證就顯得尤為方便。

那么我們就來驗(yàn)證一下吧:

#include

#include

#include

int fflag(int n);

void main()

{

int i, j, n;

long max;

system("cls");

puts("============================================================");

puts("|| 《哥德巴赫猜想》 ||");

puts("|| ||");

puts("|| 即任何正偶數(shù)可以分解為兩個(gè)素?cái)?shù)的和。 ||");

puts("|| 例如: 4=2+2, 6=3+3, 8=3+5, 10=3+7, 12=5+7 ... ||");

puts("============================================================");

printf(" >> 請(qǐng)輸入你想要驗(yàn)證的規(guī)模n: ");

scanf("%ld", &max);

printf(" >> 現(xiàn)在程序開始驗(yàn)證正偶數(shù) ");

printf(" >> 小于等于兩個(gè)素?cái)?shù)的和。 ", max);

for (i = 4, j = 0; i <= max; i += 2)

{

for (n = 2; n

if (fflag(n)) /*分別判斷兩個(gè)整數(shù)是否均為素?cái)?shù)*/

if (fflag(i - n))

{/*若均是素?cái)?shù)則輸出*/

printf("%4d=%2d+%2d ", i, n, i - n);

小編推薦一個(gè)學(xué)C語言/C++的學(xué)習(xí)裙【 六九九,四七零,五九六 】,無論你是大牛還是小白,是想轉(zhuǎn)行還是想入行都可以來了解一起進(jìn)步一起學(xué)習(xí)!裙內(nèi)有開發(fā)工具,很多干貨和技術(shù)資料分享!

j++;

if (j == 5)

{

printf(" ");

j = 0;

}

break;

}

if (n == i) printf("錯(cuò)誤為 %d ", i);

}

puts(" >> 按任意鍵退出…");

getchar();

}

int fflag(int i) /*判斷是否為素?cái)?shù)*/

小編推薦一個(gè)學(xué)C語言/C++的學(xué)習(xí)裙【 六九九,四七零,五九六 】,無論你是大牛還是小白,是想轉(zhuǎn)行還是想入行都可以來了解一起進(jìn)步一起學(xué)習(xí)!裙內(nèi)有開發(fā)工具,很多干貨和技術(shù)資料分享!

{

int j;

if (i <= 1)return 0;

if (i == 2)return 1;

if (!(i % 2))return 0; /*if no,return 0*/

for (j = 3; j <= (int)(sqrt((double)i) + 1); j += 2)

if (!(i%j))return 0;

return 1; /*if yes,return 1*/

}

這些是C/C++能做的

服務(wù)器開發(fā)工程師、人工智能、云計(jì)算工程師、信息安全(黑客反黑客)、大數(shù)據(jù) 、數(shù)據(jù)平臺(tái)、嵌入式工程師、流媒體服務(wù)器、數(shù)據(jù)控解、圖像處理、音頻視頻開發(fā)工程師、游戲服務(wù)器、分布式系統(tǒng)、游戲輔助等

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容