題目:利用陣列求出前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...