C程式設計練筆 質數

2021-04-06 19:50:02 字數 769 閱讀 8753

題目:利用陣列求出前n個質數!

思路:定義陣列 primes[n] 其中 primes[0]=2

然後從num=3開始,判斷乙個num是否質數,是則加引入陣列 primes[n] 中

判斷乙個num是否質數:如果陣列中的元素均不能整除這個num,則可判斷它為質數!

**在vc++中編繹通過

#include

#include

#define n 800 //求出前800個質數!

void main()

,p_number=1;

//定義陣列第乙個元素,p_number代表元素個數

int num,i,remainder,count=0;

//num控制数字,remainder餘數,count控制輸出換行

for(num=3;;num+=2) //從num=3開始迴圈,不考慮偶數

if(remainder !=0)

//如果num為質數,則引入陣列中

if(p_number == n) break;

}printf("the first %d primes are: /n",n);

for(p_number=0;p_number//輸出,並控制每8個換行

printf("/npress any key to quit.../n");

getch();

需改進的地方:想用指標控制陣列的大小,目前無能為力!

另外,**中判斷num是否質數的迴圈語句認為可以改進!

for(i=0;i

程式設計 找質數

一天蒜頭君猜想,是不是所有的偶數 除了 22 都可以用兩個質數相加得到呢?於是聰明的蒜頭君就找你來驗證了。輸入格式 第一行輸入乙個整數 tt 表示測試組數。接下來 tt 行,每行乙個整數 nn。輸出格式 輸出兩個整數,因為答案可能有多個,所有要求輸出的這兩個整數是所有答案中字典序最小的。資料範圍 對...

程式設計 找質數

一天蒜頭君猜想,是不是所有的偶數 除了 22 都可以用兩個質數相加得到呢?於是聰明的蒜頭君就找你來驗證了。第一行輸入乙個整數 tt 表示測試組數。接下來 tt 行,每行乙個整數 nn。輸出兩個整數,因為答案可能有多個,所有要求輸出的這兩個整數是所有答案中字典序最小的。對於 30 30 的資料 1 l...

面試 程式設計 質數

第一種演算法 public static boolean prime int num return true 看後不得不佩服原創多太有才了,乙個整數傳過來,for迴圈i初始值為2,第一步首先砍掉了偶數的。先發制人,一箭雙鵰。第二種做法,借第一種做法。判斷num 1 或者2省略 public stat...