/判斷是不是素數(shù)

聊城網(wǎng)站制作公司哪家好,找成都創(chuàng)新互聯(lián)公司!從網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、響應(yīng)式網(wǎng)站等網(wǎng)站項目制作,到程序開發(fā),運(yùn)營維護(hù)。成都創(chuàng)新互聯(lián)公司從2013年開始到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗和運(yùn)維經(jīng)驗,來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選成都創(chuàng)新互聯(lián)公司。
#includestdio.h
int prime(int a);//函數(shù)聲明
int main()
{
int n,i;
scanf("%d",n);
if(prime(n)==1) //return返回值1
printf("prime");
else
printf("not prime") ;
}
int prime(int a)
{
int i;
for(i=2;ia;i++)
if(a%i==0)
return 0;//a%i==0不成立
else
return 1;//a%i==0成立
}
擴(kuò)展資料:
素數(shù)的算法
1、素數(shù):除了1和本身外無法被其他自然數(shù)整除的數(shù),叫做素數(shù),也稱質(zhì)數(shù),如:2,3,5,7一系列。
2、合數(shù):比1大但不是素數(shù)的數(shù)稱為合數(shù),如:8,9,10一系列。
3、特殊的數(shù)字:1和0既不是素數(shù)也不是合數(shù)。
4、算法:? 1確定性算法? ?2隨機(jī)性算法? 3Eratosthenes算法。
目的:判斷一個數(shù)是否為素數(shù)
#?include?stdio.h
int?main(void)
{
int m;
int?i;
scanf("%d",m);
for(i?=?2;?i? m;?i++) ? ? //2到(m-1)的數(shù)去除m
{
if(m%?i?==?0)???????//?判斷能否整除
break;
}
if?(i?== m)
printf("YES!\n");
else
printf("No!\n");
}
for循環(huán)的功能:
①若能整除,通過break跳出函數(shù);
②若一直到m-1都不能整除,此時i再自增1到m,不滿足i? m跳出for循環(huán),這時i?= m。
擴(kuò)展資料:
素數(shù)定理:
1、在一個大于1的數(shù)a和它的2倍之間(即區(qū)間(a,?2a]中)必存在至少一個素數(shù)。
2、存在任意長度的素數(shù)等差數(shù)列。
3、一個偶數(shù)可以寫成兩個合數(shù)之和,其中每一個合數(shù)都最多只有9個質(zhì)因數(shù)。(挪威數(shù)學(xué)家布朗,1920年)。
4、一個偶數(shù)必定可以寫成一個質(zhì)數(shù)加上一個合成數(shù),其中合數(shù)的因子個數(shù)有上界。(瑞尼,1948年)。
5、一個偶數(shù)必定可以寫成一個質(zhì)數(shù)加上一個最多由5個因子所組成的合成數(shù)。后來,有人簡稱這結(jié)果為?(1?+?5)(中國潘承洞,1968年)。
6、一個充分大偶數(shù)必定可以寫成一個素數(shù)加上一個最多由2個質(zhì)因子所組成的合成數(shù)。簡稱為?(1?+?2)。
參考資料來源:百度百科-質(zhì)數(shù)
#include stdio.h
int fun(int x)//
{
if(x2)
return 0;//返回0,非素數(shù)
for(int i=2;i*i=x;i++)
if(x%i==0)
return 0;
return 1;//返回1,素數(shù)
}
int main()
{
int n;
scanf("%d",n);
if(fun(n)==1)
printf("%d是素數(shù)\n",n);
else
printf("%d不是素數(shù)\n",n);
return 0;
}
解釋如下:
#include"stdio.h"
#include"math.h"
main()
{
int
i,k,m;
//定義三個整形變量
scanf("%d",i);
//輸入i的值
k=sqrt(i);
//把輸入的i的值的平方根的值賦值給k
for(m=2;m=k;m++)
//從2開始進(jìn)入循環(huán),判斷從2到k之間的數(shù)是否能被i整除
if(i%m==0)
//如果能被2整除則用break跳出循環(huán)
break;
if(mk)
//判斷通過循環(huán)后的m的值是否比k大,如果比k大則i是素數(shù)
printf("%d是素數(shù)
",i);
else
//如果不是則i不是素數(shù)
printf("%d不是素數(shù)",i);
getch();
}
分享名稱:c語言定義函數(shù)是否為素數(shù),c語言定義一個函數(shù)判斷是不是素數(shù)
文章源于:http://chinadenli.net/article43/dsiphhs.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供商城網(wǎng)站、軟件開發(fā)、電子商務(wù)、網(wǎng)站制作、微信公眾號、網(wǎng)站改版
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)