請用C 編寫乙個程式 找到3 100中所有的質數。

2025-07-26 08:20:47 字數 2723 閱讀 9703

1樓:飛魚流汗

#include

#include

using namespace std;

void zhishu1() //用while迴圈if(i==j)

coutint main()

本題是1到100之間的質數 你要3到100之間的製藥稍微改一下就行了。

2樓:網友

這個程式一般的教科書當中都有示例,懶得寫了,麻煩一點的做法是:

對於數字n,從2開始驗證一直到n-1結束,看n能否被其中的數字求%為0,若有則不是質數,否則是!

簡化演算法,從2開始驗證到根號n(n開根號),看能否被其中的數字求%為0,若有則不是質數,否則是!

寫乙個程式,查詢1~100之間所有的素數

3樓:楊付民

不好意思我只上過初中,也不會。

用c++程式設計 求3—100之間的素數

4樓:匿名使用者

求素數的問題,尤其是求某個數下所有的素數的問題,具有一定的普遍性。對於這種「求 xx 下所有素數的問題」需要注意幾點,就可以得到最優的快速演算法。

1)求某個數n的素數,只需要判斷n 是否可以被2~sqrt(n)之間的數整除(包括2;如果sqrt(n)是整數,也包括它)。如果沒有被整除的,則是素數。

為什麼是到sqrt(n),而不是取n下所有的數?這是因為,對於乙個數n來說,如果它有乙個非1 和非它本身的因子,那麼n必然有兩個因子,其中的乙個較小的因子,假定這個因子為m,它的取值範圍必定在1

#include

using namespace std;

int main()

/用於儲存已經計算出來的素數,要用足夠大的空間來儲存所有的素數,對於100來說,50已經足夠了。

首先在primevector中記錄下前兩個素數2 , 3, i_prime是此陣列中質數的個數。

primevector[i_prime++]= 2;

primevector[i_prime++]= 3;

for(i=4;i}//如果 i 是素數,則儲存到primevector之中。

if(isprime)

primevector[i_prime++]= i;

/輸出所有的素數。

for(i = 0;icout

5樓:網友

執行結果如下:

c:\users\pc>notepad

c:\users\pc>g++ o

c:\users\pc>

3—100之間的素數,素數如下。

#include

using namespace std;

int main()

cout<<"3—100之間的素數,素數如下";

for(i = 3; i < 101; i++)if (arr[i]!=0)

cout

編寫c語言程式輸出3--100中的所有素數,按每行5個輸出

6樓:重陽用在

#include

void main()}

本來想把結果截上去的,可是等級不夠,不讓我截)

7樓:網友

#include

#include

int shu(long unsigned num) //判斷素數函式,是,返回1.否,0

return i==t;

int main()

c語言求解!3. 編寫乙個程式,輸出100到500之間的所有素數(質數)。 結果應為:(如圖)

8樓:網友

#include ""

int is_prime(int n)//求n是否是素數,是返回1,不是返回0

int i;

for(i=2;iif(n%i==0)

return 0;

return 1;

int main()

int i;

for(i=100;i<=500;i++)if(is_prime(i)==1)

printf("%d\t",i);結果:

9樓:籮勒個卜

#include

#include

int ispir(int n)

int i;

for(i=2;i<=(int)sqrt(n);i++)if(n%i==0) return 0; //若有因子 則不是素數 返回0

return 1;

void main()

int i;

for(i=100;i<=500;i++)if(ispir(i))

printf("%d\t",i);

10樓:貌似風輕

**很簡單的,在把參考**改下就可以了。

參考**只是判斷了 乙個 i 是不是素數。所以本題 把參考**輸入的 i,從100迴圈到500,依次判斷就可以了。

#include

void main()

int i,j;

for(i=100;i<=500;i++)for(j=2;jif(i%j==0)

break;

if(j>=i)

printf("%d\t",i);

編寫c程式求1 2 3 ,編寫一個c程式 求1 2 3

include int main printf 1 權 2 20 ld sum return 0 main printf ld s 上面復的程式都已經制溢位了,int哪能儲存那麼大的數呀,應該用陣列來分割儲存!include int main m 2,t 3 for m 1 m 20 m c 1 t...

C 編寫小程式(思路即可),C 編寫一個小程式(思路即可)

求出該整數的各個位 比如 125,百位為1,十位為2,個位為5 依次放入int型陣列,x 另外定義一個9個大小的int陣列a,初始化為0然後迴圈,每個迴圈裡switch x i case 1 a 0 省略 第一步 先判斷輸入的整數是多少位的,比如輸入的是 123 就是三位的 第二步 將這個數除以10...

編寫乙個C程式,輸出以下資訊

include main 剛開始是這樣的。別灰心!努力哦!這有什麼好寫的嗎,還有這麼多人在呢搞來搞去的不就是分嗎,我說哪個先來給哪個。後面的還爭什麼真是的。暈 哦 你學c就這麼學的啊 includevoid main 引用樓上的,修改了一點點,別介意,自己多動手才能學好。編寫乙個c程式,輸出以下圖案...