PAT乙級:1007

1007 素數(shù)對猜想 (20 分)

題目:讓我們定義d?n??為:d?n??=p?n+1???p?n??铜邮,其中p?i??是第i個素數(shù)蔚晨。顯然有d?1??=1握恳,且對于n>1有d?n??是偶數(shù)紊选。“素數(shù)對猜想”認為“存在無窮多對相鄰且差為2的素數(shù)”卸勺。

現(xiàn)給定任意正整數(shù)N(<10?5??),請計算不超過N的滿足猜想的素數(shù)對的個數(shù)烫扼。

輸入格式:

輸入在一行給出正整數(shù)N曙求。

輸出格式:

在一行中輸出不超過N的滿足猜想的素數(shù)對的個數(shù)。

輸入樣例:

20

輸出樣例:

4




思路:
判斷素數(shù)映企,下面給出判斷素數(shù)的兩種方法:

1)因此判斷一個整數(shù)m是否是素數(shù)悟狱,只需把 m 被 2 ~ m-1 之間的每一個整數(shù)去除,如果都不能被整除堰氓,那么 m 就是一個素數(shù)挤渐。

2):另外判斷方法還可以簡化。m 不必被 2 ~ m-1 之間的每一個整數(shù)去除双絮,只需被 2 ~根號m之間的每一個整數(shù)去除就可以了浴麻。如果 m 不能被 2 ~根號m間任一整數(shù)整除得问,m 必定是素數(shù)。例如判別 17 是是否為素數(shù)软免,只需使 17 被 2~4 之間的每一個整數(shù)去除宫纬,由于都不能整除,可以判定 17 是素數(shù)膏萧。

原因:因為如果 m 能被 2 ~ m-1 之間任一整數(shù)整除漓骚,其二個因子必定有一個小于或等于根號m,另一個大于或等于根號m向抢。例如 16 能被 2认境、4、8 整除挟鸠,16=2*8叉信,2 小于 4,8 大于 4艘希,16=4*4硼身,4=√16,因此只需判定在 2~4 之間有無因子即可覆享。

舉例代碼地址:http://c.biancheng.net/view/498.html(C語言中文網(wǎng))

3)素數(shù)優(yōu)化算法:素數(shù)篩法:

? ? 1.開一個大的bool型數(shù)組prime[]佳遂,大小就是n+1就可以了.先把所有的下標(biāo)為奇數(shù)的標(biāo)為true,下標(biāo)為偶數(shù)的標(biāo)為false.

? ? 2.然后:

? ? ? for( i=3; i<=sqrt(n); i+=2 )

? ? ? {? if(prime[i])

? ? ? ? ? for( j=i+i; j<=n; j+=i ) prime[j]=false;

? ? ? }

? ? 3.最后輸出bool數(shù)組中的值為true的單元的下標(biāo),就是所求的n以內(nèi)的素數(shù)了撒顿。

? ? 原理很簡單丑罪,就是當(dāng)i是質(zhì)(素)數(shù)的時候,i的所有的倍數(shù)必然是合數(shù)凤壁。如果i已經(jīng)被判斷不是質(zhì)數(shù)了吩屹,那么再找到i后面的質(zhì)數(shù)來把這個質(zhì)

數(shù)的倍數(shù)篩掉。

? ? 一個簡單的篩素數(shù)的過程:n=30拧抖。

? ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30


? ? 第 1 步過后2 4 ... 28 30這15個單元被標(biāo)成false,其余為true煤搜。

? ? 第 2 步開始:

? ? i=3;? 由于prime[3]=true, 把prime[6], [9], [12], [15], [18], [21], [24], [27], [30]標(biāo)為false.

? ? i=4;? 由于prime[4]=false,不在繼續(xù)篩法步驟。

? ? i=5;? 由于prime[5]=true, 把prime[10],[15],[20],[25],[30]標(biāo)為false.

? ? i=6>sqrt(30)算法結(jié)束唧席。

? ? 第 3 步把prime[]值為true的下標(biāo)輸出來:

? ? for(i=2; i<=30; i++)

? ? if(prime[i]) printf("%d ",i);

? ? 結(jié)果是 2 3 5 7 11 13 17 19 23 29


? ? 這就是最簡單的素數(shù)篩選法擦盾,對于前面提到的10000000內(nèi)的素數(shù),用這個篩選法可以大大的降低時間復(fù)雜度淌哟。(同時博客上還提出了bool的優(yōu)化:即是只篩奇數(shù)(從3開始迹卢,因為2是素數(shù)),可以一試徒仓。

(作者:liukehua123來源:CSDN原文:https://blog.csdn.net/liukehua123/article/details/5482854)


代碼:

#include<stdio.h>

#include<math.h>

int main()

{

int prime[100000];

int n,m,i,j,k=2,count=0;

prime[0]=2;prime[1]=3;

scanf("%d",&n);

//遍歷素數(shù)表

m=sqrt(n);

for(i=2;i<=n;i++){

for(j=2;j<=m;j++){

if(i%j==0)break;}

if(j>m)prime[k++]=i;

}

//輸出

for(int d=0;d<=n;d++){

if(prime[d+1]-prime[d]==2)count++;

//printf("%d\n",prime[d]);

}

printf("%d",count);

return 0;

}


結(jié)果:還存在錯誤(一刷是這樣的結(jié)果婶希,還不知道哪里錯了,等待二刷再改)


總結(jié):這道題我寫了差不多六個小時蓬衡,暴露了我的代碼能力的薄弱喻杈,希望這幾個月能真正靜下心來刷題彤枢。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市筒饰,隨后出現(xiàn)的幾起案子缴啡,更是在濱河造成了極大的恐慌,老刑警劉巖瓷们,帶你破解...
    沈念sama閱讀 218,386評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件业栅,死亡現(xiàn)場離奇詭異,居然都是意外死亡谬晕,警方通過查閱死者的電腦和手機碘裕,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,142評論 3 394
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來攒钳,“玉大人帮孔,你說我怎么就攤上這事〔怀牛” “怎么了文兢?”我有些...
    開封第一講書人閱讀 164,704評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長焕檬。 經(jīng)常有香客問我姆坚,道長,這世上最難降的妖魔是什么实愚? 我笑而不...
    開封第一講書人閱讀 58,702評論 1 294
  • 正文 為了忘掉前任兼呵,我火速辦了婚禮,結(jié)果婚禮上腊敲,老公的妹妹穿的比我還像新娘击喂。我一直安慰自己,他們只是感情好兔仰,可當(dāng)我...
    茶點故事閱讀 67,716評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著蕉鸳,像睡著了一般乎赴。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上潮尝,一...
    開封第一講書人閱讀 51,573評論 1 305
  • 那天榕吼,我揣著相機與錄音,去河邊找鬼勉失。 笑死羹蚣,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的乱凿。 我是一名探鬼主播顽素,決...
    沈念sama閱讀 40,314評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼咽弦,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了胁出?” 一聲冷哼從身側(cè)響起型型,我...
    開封第一講書人閱讀 39,230評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎全蝶,沒想到半個月后闹蒜,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,680評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡抑淫,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,873評論 3 336
  • 正文 我和宋清朗相戀三年绷落,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片始苇。...
    茶點故事閱讀 39,991評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡砌烁,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出埂蕊,到底是詐尸還是另有隱情往弓,我是刑警寧澤,帶...
    沈念sama閱讀 35,706評論 5 346
  • 正文 年R本政府宣布蓄氧,位于F島的核電站函似,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏喉童。R本人自食惡果不足惜撇寞,卻給世界環(huán)境...
    茶點故事閱讀 41,329評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望堂氯。 院中可真熱鬧蔑担,春花似錦、人聲如沸咽白。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,910評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽晶框。三九已至排抬,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間授段,已是汗流浹背蹲蒲。 一陣腳步聲響...
    開封第一講書人閱讀 33,038評論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留侵贵,地道東北人届搁。 一個月前我還...
    沈念sama閱讀 48,158評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親卡睦。 傳聞我的和親對象是個殘疾皇子宴胧,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,941評論 2 355

推薦閱讀更多精彩內(nèi)容

  • 在C語言中,五種基本數(shù)據(jù)類型存儲空間長度的排列順序是: A)char B)char=int<=float C)ch...
    夏天再來閱讀 3,343評論 0 2
  • 【程序1】 題目:古典問題:有一對兔子,從出生后第3個月起每個月都生一對兔子么翰,小兔子長到第三個月后每個月又生一對兔...
    葉總韓閱讀 5,135評論 0 41
  • 計算機二級C語言上機題庫(南開版) 1.m個人的成績存放在score數(shù)組中牺汤,請編寫函數(shù)fun,它的功能是:將低于平...
    MrSunbeam閱讀 6,366評論 1 42
  • 山水情四溢,三花阻歸程浩嫌。秀色亦可餐檐迟,人間能有幾回聞。 待到花開日码耐,日月再相逢追迟。功成與志酬,且續(xù)乾坤一壺酒骚腥。
    家在遠方閱讀 186評論 0 1
  • 我是展鵬教育大邢老師,是“著名”的非專業(yè)佳一數(shù)學(xué)老師o(^o^)o 展鵬教育目前有四大支柱科目:展鵬作文契沫,佳一數(shù)學(xué)...
    大邢老師閱讀 1,405評論 1 4