Board logo

標題: C++第十題:產生由 1 到 n (n >= 1) 之間的所有質數。 [打印本頁]

作者: stephen    時間: 2010-3-6 11:18     標題: C++第十題:產生由 1 到 n (n >= 1) 之間的所有質數。

C++第十題:產生由 1 到 n (n >= 1) 之間的所有質數。
作者: p17johnny    時間: 2010-3-6 11:19     標題: 第10題(網路上的答案)

這是網路上的答案   有說明~~  要複製前請回覆~
  1. #include <iostream.h> //引進 io 程式庫
  2. #include <math.h> //引進數學程式庫
  3. int chk(int number) //檢查是否為 質數 1 為質數 0為非質數
  4. {
  5. for (int i=2 ; i <= ( (int) ( sqrt(number)) ) ; i++ ) //將number開根號後求出所需比的數
  6. if ( (number % i) == 0 ) return 0; // 如果 number %i 餘數等於零即為非質數
  7. return 1; //比完後並沒有可整除數 即為質數 return 1(為質數)
  8. }
  9. int main() {
  10. int num; //輸入數字的 變數
  11. cout << "input number : ";
  12. cin >> num; //輸入
  13. for(int j=1;j<=num;j++) { // 從1 到num 找質數
  14. if ( chk(j) ) cout << j<< endl; //呼叫 chk() 確認j 是否為質數 是則 印出此數
  15. }
  16. system("pause");
  17. return 0;
  18. }
複製代碼





歡迎光臨 種子論壇 | 高雄市資訊培育協會學員討論區 (http://istak.org.tw/seed/) Powered by Discuz! 7.2