1.素?cái)?shù)是一個(gè)大于1的自然數(shù),除了1和它本身外,不能被其他自然數(shù)整除,換句話說就是該數(shù)除了1和它本身以外不再有其他的因數(shù);

利通網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)!從網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、成都響應(yīng)式網(wǎng)站建設(shè)等網(wǎng)站項(xiàng)目制作,到程序開發(fā),運(yùn)營維護(hù)。創(chuàng)新互聯(lián)從2013年創(chuàng)立到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)。
2.在數(shù)據(jù)處理時(shí)只需要判讀他的因子除了1和他本身就行了,而且只用計(jì)算到 這個(gè)數(shù)的開方就行了,因?yàn)楹竺娴囊蜃雍颓懊娴木蜁?huì)倒過來。如同 24 - 2 x 12 和 12 x 2 一樣。
#includestdio.h
int?IsPrime(int?n)??//?判斷是否為素?cái)?shù)
{
if?(n?=?1)?return?0;
if?(n?%?2?==?0)?return?n?==?2;?//?如果是偶數(shù),只要不是2,其他都是非素?cái)?shù)
for?(int?i?=?3;?;?i?+=?2)
{
if?(i??n/i)?break;??//?等價(jià)于?i*i??n,?不用開方
if?(n?%?i?==?0)?return?0;
}
return?1;
}
int?main()
{
int?i,?cnt?=?0;
for?(i?=?1;?i??100;?i++)
{
if?(IsPrime(i))
{
printf("%3d?",?i);
if?(++cnt%5?==?0)???//?每5個(gè)換行
printf("\n");
}
}
return?0;
}
/判斷是不是素?cái)?shù)
#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ò)展資料:
素?cái)?shù)的算法
1、素?cái)?shù):除了1和本身外無法被其他自然數(shù)整除的數(shù),叫做素?cái)?shù),也稱質(zhì)數(shù),如:2,3,5,7一系列。
2、合數(shù):比1大但不是素?cái)?shù)的數(shù)稱為合數(shù),如:8,9,10一系列。
3、特殊的數(shù)字:1和0既不是素?cái)?shù)也不是合數(shù)。
4、算法:? 1確定性算法? ?2隨機(jī)性算法? 3Eratosthenes算法。
#includestdio.h
int?sushu(int?z);/*函數(shù)聲明最好放在外面,放到文件前端*/
void?main()
{
int?b,a;
printf("enter?a?date:\n");
scanf("%d",b);
a=sushu(b);
if(a==0||b==0)?
printf("no\n");
else?
printf("yes\n");
}
int?sushu(int?z)
{
int?i?,?j;/*i和返回值要分開,i要做循環(huán)標(biāo)尺的*/
for(i=2;iz;i++)
{
if(z%i==0)?
{
j=0;
break;/*一旦發(fā)現(xiàn)不是素?cái)?shù),跳出for循環(huán)*/
}
else?
j=1;/*如果用i,就是個(gè)死循環(huán),如果是素?cái)?shù),每次你把i=1后for循環(huán)一直繼續(xù)*/
}
return?j;
}
#include?stdio.h
#include?math.h
//判斷是否為素?cái)?shù)的函數(shù)
int?isPrime(int?n)
{
int?i=2;
while(i=(int)sqrt(n))
{
if(n%i?==?0)
return?0;??//不是素?cái)?shù),直接返回0
else
i++;
}
return?1;
}
int?main()
{
int?n,i;
printf("輸入一個(gè)正整數(shù):?");
scanf("%d",n);
for(i=2;i=n;i++)
{
if(isPrime(i))??//調(diào)用函數(shù),如果該數(shù)為素?cái)?shù),則輸出
printf("%d?",i);
}
printf("\n");
return?0;
}
示例運(yùn)行結(jié)果:
輸入一個(gè)正整數(shù): 50
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47
分享名稱:c語言寫一個(gè)球素?cái)?shù)的函數(shù),C語言寫一個(gè)判斷素?cái)?shù)的函數(shù)
標(biāo)題來源:http://chinadenli.net/article35/dseessi.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供移動(dòng)網(wǎng)站建設(shè)、小程序開發(fā)、網(wǎng)站設(shè)計(jì)、網(wǎng)站排名、動(dòng)態(tài)網(wǎng)站、自適應(yīng)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)