初學C++,打算用博客記錄學習的足跡,寫了兩個求質數的程式,修修改改,
1 #include <iostream> 2 #include <math.h> 3 using namespace std; 4 int main(){ 5 int m, n, k, i, j, h; 6 n = 0; //n不應該定義在外回圈內,否則無法實作換行作用 7 cin >> m; 8 //開始時我將k定義在回圈體外,導致結果失敗,因為每個內回圈結束后k值會發生改變,需要在外回圈中重復定義 9 for (i = 1; i <= m ; i++) 10 { 11 k = 1; //也可設定布爾型別,k值的作用與布爾數相同 12 h = sqrt(i); 13 for (j = 2; j <= h; j++) 14 { 15 if (i%j == 0) 16 { 17 k = 0; 18 break; 19 } 20 } //break應用在內回圈的位置,第一次內回圈包括了if(k)的陳述句,導致列印不到東西 21 if(k) 22 { 23 cout << i << " "; 24 n += 1; 25 if (n % 10 == 0) 26 cout << endl; 27 } 28 29 } 30 system("pause"); 31 return 0; 32 }
1 #include <iostream> 2 #include <math.h> 3 using namespace std; 4 int minum, maxnum; 5 int i, j, k; 6 int main() { 7 int count = 0; 8 cout << "請輸入兩個數:" << endl; 9 cin >> minum >> maxnum; 10 for(i=minum;i<=maxnum;i++){ 11 k = sqrt(i); 12 for (j = 2; j <= k; j++) { 13 if (i%j == 0) 14 break; 15 } 16 if (j >= k + 1) //判斷i是否為素數的條件 17 { 18 cout << i << " "; 19 count++; 20 if (count % 10 == 0) 21 cout << endl; 22 } 23 } 24 system("pause"); 25 return 0; 26 }
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/95056.html
標籤:C++
上一篇:c++ pipe實作父子行程通信
