c語言調(diào)用函數(shù)素數(shù)和 C語言函數(shù)素數(shù)

C語言使用函數(shù)求素數(shù)和,幫忙看看哪兒錯了

//樓主判定"素數(shù)"的算法需要改善,可參考其他網(wǎng)友的算法.

十年建站經(jīng)驗, 網(wǎng)站設(shè)計、成都網(wǎng)站制作客戶的見證與正確選擇。成都創(chuàng)新互聯(lián)提供完善的營銷型網(wǎng)頁建站明細報價表。后期開發(fā)更加便捷高效,我們致力于追求更美、更快、更規(guī)范。

#include?stdio.h

#include?math.h

int?prime(?int?p?);

int?PrimeSum(?int?m,?int?n?);

int?main()

{

int?m,?n,?p;

scanf("%d?%d",?m,?n);

printf("Sum?of?(?");

for(?p=m;?p=n;?p++?)

{

if(?prime(p)?!=?0?)

printf("%d?",?p);?????//輸出素數(shù)

}

printf(")?=?%d\n",?PrimeSum(m,?n));

return?0;

}

int?prime(?int?p?)

{

int?m=p;

while(m1)

{

m--;

//在函數(shù)prime里,如果p是素數(shù),當循環(huán)到m等于2,在執(zhí)行m--之后,m就等于1,

//再執(zhí)行if(p%m==0),必然return?0

//所以,在m--之后,增加一句if(1==m)?return?1;

if(1==m)

{

return?1;

}

if(p%m==0)

{

return?0;

}

}

return?1;

}

int?PrimeSum(?int?m,?int?n?)

{

int?result=0;

for(m;m=n;m++)

{

if(prime(m)!=0)

result=result+m;

}

return?result;

}

c語言中 素數(shù)和的程序怎么編

可以寫一個判斷n是否素數(shù)的函數(shù),是素數(shù)就返回1(真)否則就返回0(假)。

在main()函數(shù)中用循環(huán),檢測指定范圍內(nèi)的每一個數(shù),是素數(shù)的話就把它們累加起來。

#includestdio.h

int isprime(int n)

{int i;

for(i=2;i*i=n;i++)

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

return n1;

}

int main()

{int i,a,b,s=0;

scanf("%d%d",a,b);

for(i=a;i=b;i++)

if(isprime(i))

{printf("%d ",i);

s+=i;

}

printf("\n%d~%d之間的素數(shù)和=%d\n",a,b,s);

return 0;

}

c語言使用函數(shù)求素數(shù)和

您好,很高興回答您的問題。

對于您的這個問題,有兩個方面的知識點需要掌握,一是素數(shù)的判斷標準,我們知道只能被1和數(shù)本身整除的數(shù)叫素數(shù),具體實踐時就要用到循環(huán)結(jié)構(gòu);而是函數(shù)的調(diào)用,要清楚調(diào)用函數(shù)的結(jié)構(gòu)和使用方法,才能用好調(diào)用。

以上兩個問題解決了,那么這個程序就可以實現(xiàn)功能了。還有關(guān)鍵的一點就是您沒有給出具體的范圍,也就是求哪個范圍內(nèi)的素數(shù)之和呢,沒有這個范圍,也就沒有辦法求出和了。

C語言 用函數(shù) 求前50個素數(shù)的和.

#include stdio.h

#include math.h

int pd(int k) //判斷質(zhì)數(shù) 效率挺高的 你也可以用二重篩選法 那個算法是最快的

{

int i;

int s=sqrt(k);

if(k==1) return 0;

if(k==2) return 1;

if(k%2==0) return 0;

for(i=3;i=s;i+=2)

if(k%i==0) return 0;

return 1;

}

int main()

{

int i=2,k=0,sum=0; //i表示數(shù)字 k這表示有多少個質(zhì)數(shù)了 sum表示質(zhì)數(shù)的和

while(k=50)

{

if(pd(i)) { k++;sum+=i;}

i++;

}

printf("%d",sum);

return 0;

}

樓主 給我吧

用c語言編程序,用函數(shù)求素數(shù),調(diào)用函數(shù)

#include?stdio.h

#include?math.h

//判斷是否為素數(shù)的函數(shù)

int?isPrime(int?n)

{

int?i=2;

while(i=(int)sqrt(n))

{

if(n%i?==?0)

return?0;??//不是素數(shù),直接返回0

else

i++;

}

return?1;

}

int?main()

{

int?n,i;

printf("輸入一個正整數(shù):?");

scanf("%d",n);

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

{

if(isPrime(i))??//調(diào)用函數(shù),如果該數(shù)為素數(shù),則輸出

printf("%d?",i);

}

printf("\n");

return?0;

}

示例運行結(jié)果:

輸入一個正整數(shù): 50

2 3 5 7 11 13 17 19 23 29 31 37 41 43 47

C語言 素數(shù)求和問題

#include "stdio.h"

#include "math.h"

int main(void)

{

int count, i, m, n, sum;

int repeat, ri;

int prime(int m);

scanf("%d", repeat);

for(ri = 1; ri = repeat; ri++){

scanf("%d %d", m, n);

sum = count = 0;

for(i=m;i=n;i++){

if(prime(i)==1){

sum=sum+i;

count++;}

}

printf("Count=%d,sum=%d\n",count,sum);

}

}

int prime(int m)

{

int i;

if(m==2)return 1;

if(m==1)return 0;

if(m2){

for(i=2;im;i++){

if(m%i==0)

return 0;}

return 1;//你的主要問題在這里,上面的for循環(huán)已經(jīng)限定了i不會大于m的,你再用了一個if(i=m)就不對了

}

}

網(wǎng)站標題:c語言調(diào)用函數(shù)素數(shù)和 C語言函數(shù)素數(shù)
鏈接URL:http://muchs.cn/article14/hggide.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計公司、全網(wǎng)營銷推廣、網(wǎng)站制作、面包屑導(dǎo)航、動態(tài)網(wǎng)站、定制開發(fā)

廣告

聲明:本網(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)

網(wǎng)站托管運營