1樓:創作者
#include
int main()
}希望可以幫助到你!
c語言 求n到m之間所有的素數
2樓:
#include
int main()
}if (u>1 && s==0)
}return 0;}
3樓:陽光的王子
你的if(u/i==0)是不是有問題應該是if(u%i==0)你這裡是要取餘把 是餘數為0
c語言 輸出n到m之間的所有素數
4樓:風若遠去何人留
對n到m之間所有數進行遍歷,逐一判斷是否為素數,如果是則輸出。
一、演算法設計:
1、輸入n和m;
2、判斷n和m關係,如n>m則交換;
3、遍歷n到m所有值,對於每個值判斷是否為素數,如是則輸出;
#include
#include
int isprime(int n)//判斷素數函式。
int main()
for(i = n; i <= m; i ++)//遍歷。
if(isprime(i))//是素數。
printf("%d ", i);//輸出素數。
return 0;}
5樓:匿名使用者
你好!!
給你一個簡單點的,你看看吧
#include
void main()
count++;
printf("%5d",i);
}if(i%j==0)
break;}}}
6樓:匿名使用者
演算法麻煩 是因為迴圈次數太多了,具體的迴圈 只需要迴圈m-n/2次就行 有說求 sqr的 但是 sqr函式計算開銷比較大 所以我不建議
至於回車的問題 應該是迴圈結構的問題 建議把大括號寫全
參考
7樓:迷茫的我
main() /*函式呼叫*/ f(int x) if(floy==1) printf("%d",x); } /*這是求100以內的素數具體要求m到n的改一下前面的那句就可以了*/
8樓:伍拾步
#include
#include
int f(int n)//判斷n是否為素數,是則返回1,否則返回0void main()}
9樓:
沒測試過你的程式,你忘記了判斷輸入n,m的大小,要是輸入的 n > m 呢?
10樓:匿名使用者
行與行之間不止一個回車,有的很多有的幾個,這是因為你最後一句:
if(b%10==0) printf("\n");
沒有包含在if(a==1)中。這樣當a==0時,也會判斷if(b%10==0),造成輸出很多個回車。改成:
if(a==1)
應該就可以了。(注意大括號位置)
至於判斷素數的簡化演算法,如果你是指**可讀性,那麼你這種演算法已經比較直觀了。如果你是指**的執行效率及運算速度,那麼,你可以參考一下這個**,裡面對素數的判斷有比較詳細的分析:http:
11樓:左岸
關於回車問題,1樓已解釋清楚。
可是你又沒有發現 當輸入 3 100 是 輸出是從11開始的素數。 5和7並未輸出。
另外 簡化程式。 應將k=sqrt(m);刪除。在a=1;的前面加上 k=sqrt(j);
附上程式:
#include
#include
void main(void)
if(a==1)
//回車問題在此行}}
12樓:匿名使用者
求100~200之間的所有素數及素數的個數。
main( )
}printf(" n=%d\n",n);}
c語言求助,《求m和n之間的所有素數》
13樓:
你的第來
二層for迴圈後面好像缺
自失一個「
14樓:牛頭人小小酋長
因為每次不是質數的時候你還是判斷是不是c是6的倍數,這個應該放在c++後面
c語言,求n到m以內的素數(包含n,m,且1≤n≤m≤100)
15樓:聽不清啊
#include
int isprime(int n)
int main()
大一c語言的題目。輸出m-n之間所有的素數
16樓:碧血玉葉花
應將k=sqrt(m);刪除。在a=1;的前面加上 k=sqrt(j);
附上程式:
#include
#include
void main(void)
{ int i,j,m,n,k,s,a,b=0;
scanf("%d",&n);
scanf("%d",&m);
for(j=n;j
c語言 呼叫函式求m與n之間素數的個數
17樓:風若遠去何人留
int prime(int a)
裡面if(a>(n-m)/2) return 0;
改成if(i>(n-m)/2) return 0;
其實判斷素數可以有更好的演算法,不過按照樓主思路 最簡單的改法就這樣瞭如果想優化再追問
c語言 輸出m到n之間的所有素數,包括m和n。(100
18樓:匿名使用者
k=(int)sqrt(m);這裡開平方的內容是i====>>>k=(int)sqrt(i);
19樓:
基本上正確,在最後一個}上加上
return;
20樓:片半靚
#include
#include
void main()
if(leap==1)}}
C語言求1到100所有素數及素數和
include main 追問 非常感謝你啊,請問你能告訴我。for j 2 jif i j 0 break if j i printf 4d i 這個複合語句的意思嗎?非常感謝!如果不整除,j會變化到i然後結束迴圈。所以,如果j與i相等,那就是不整除,那麼i一定是素數。求1到100以內所有素數之和...
c語言輸出m,n區間素數的問題,C語言輸出 m,n 區間素數的問題
1 其後面緊跟的第一個語句塊,對本案例而言,是 if a i 0 2 這句話意思是,如果標誌位flag為真 c語言定義一切非零的數即為真 那麼跳過下面的語句直接繼續迴圈。你可以改成 if flag 1 continue 或者 if flag 0 continue 是一樣的效果。1 不寫大括號自動找第...
c語言程式設計問題 求1到100的素數之和
include int main int i,j,k,s 0 for i 2 i 100 i k 1 for j 2 j j i j if i j 0 k 0 break s k i printf d n s return 0 程式設計 求3到100之間的素數之和 set talk off s1 0...