日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

c语言prime函数怎么用_C语言 要发就发

發布時間:2023/12/4 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 c语言prime函数怎么用_C语言 要发就发 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
點擊上方“藍字”關注我們

愉快的一天,不得不做的三件事:

????? ? 種田,鋤地,整代碼!!!

【題目】

“1898——要發就發”。請將不超過1993的所有素數從小到大排成第一行,第二行上的每個數都等于它右肩上的素數之差。編程用函數實現并求出:第二行數中是否存在這樣的若干個連續的整數,它們的和恰好是1898?假設存在的話,又有幾種這樣的情況?

第1行:2 ?3 ?5 ?7 ?11 ?13 ?17 ……1979 ?1987 ?1993

第2行:1 ?2 ?2 ?4 ? 2 ? 4 ???……? ? ? ? 8 ??? 6

【設計思路】

假設第1行中的素數為n[1]、n[2]、n[3]……n[j]…… , 第2行中的差值為m[1]、m[2]、m[3]……m[j]…… , 其中m[j]=n[j+1]-n[j],則第2行連續j個數的和為

SUM =m[1]+m[2]+m[3]+…+m[j]

? ? ? =(n[2]-n[1])+(n[3]-n[2])+(n[4]-n[3])+…+(n[j+1]-n[j])

???? ???=n[j+1]-n[1]

由此題目就變成了:在不超過1993的所有素數中是否存在這樣兩個素數,它們的差恰好是1898。

若存在,則第2行中必有所需整數序列,其和恰為1898.?由分析可知,因為任意素數與2的差一定為奇數,所以不用考慮2.

【代碼分析】

int prime(int n)

{

????int i;

????long k;

????k = sqrt(n)+1;

????for(i=2;i

????????if(n%i==0)

????????return 0;

????return 1;

}

prime() 為判斷是否為素數的函數,

若是,返回 1;若不是,返回 0.

for(i=3;i<=1993;i+=2)

{

if(prime(i))

num[j++]=i;

}

從3到1993,將所有的素數全部存在數組num[]中.

for(j--; num[j]>1898; j--)??

? ? {

? ? ? ? for(i=0; num[j]-num[i]>1898; i++);?

? ? ? ? if(num[j]-num[i] == 1898)?

? ? ? ? ? ?{

? ? ? ? ? ? ????? k++;?

? ? ? ? ? ? printf("第%d種情況:%-4d - %-4d = 1898\n",k,num[j],num[i]);

? ?????????}

? ? }

依次匹配數組里的數字,若兩數之差為1898,則k++,并打印此時的兩位數字.

【代碼展示】

C語言? ?要發就發

#include

#include

#define N 1000?

int prime();

void fa();?

int main()

{

fa();

return 0;

}

int prime(int n)

{

int i;

long k;

k = sqrt(n)+1;

for(i=2;i

if(n%i==0)

return 0;

return 1;

}

void fa()

{

int i,j=0,num[N],k=0;

printf("-------歡迎進入操作界面-------\n\n");

for(i=3;i<=1993;i+=2)

{

if(prime(i))

num[j++]=i;

}

for(j--; num[j]>1898; j--)??

? ? {

? ? ? ? for(i=0; num[j]-num[i]>1898; i++);?

? ? ? ? if(num[j]-num[i] == 1898)?

? ? ? ? ? ?{

? ? ? ? ? ? k++;?

? ? ? ? ? ? printf("第%d種情況:%-4d - %-4d = 1898\n",k,num[j],num[i]);

? ?}

? ? }

}

【運行結果展示】

IT 農工要回家休息了,我們下期再見吧

記得點擊“在看”進行收藏哦

往期精彩

C語言 捕魚和分魚

C語言 求π的近似值

總結

以上是生活随笔為你收集整理的c语言prime函数怎么用_C语言 要发就发的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。