Board logo

標題: 判斷是否為質數 (二) [打印本頁]

作者: 周政輝    時間: 2017-7-1 09:07     標題: 判斷是否為質數 (二)

更改上一個版本
讓迴圈次數可以更加減少 提高程式效率
  1. //使用者自行輸入一個數字 電腦自動判斷 該數字是否為質數
  2. #include<iostream>
  3. #include<cstdlib>
  4. using namespace std;
  5. int main()
  6. {
  7.     int num =0;//使用者輸入
  8.     bool isPrime = true; // 布林值 判斷是否質數
  9.     int count =0;
  10.     cin >> num;
  11.     if(num !=2)
  12.     {
  13.     for(int i=2;i<num;i++) //從2開始 一直到小於使用者輸入的數字為止 (扣除 1和自己本身以外)
  14.     {
  15.        count++;
  16.        if(num % i ==0) //判斷是否能整除
  17.        {
  18.          isPrime = false; //只要整除 就代表該數字不是質數 回傳false
  19.          break; //跳離當前迴圈      
  20.        }
  21.        else{
  22.          isPrime = true;      // 代表該數為質數
  23.        }      
  24.     }
  25. }   


  26.      cout << "跑了" << count << "次" << endl;
  27.     if(isPrime == true)
  28.     {
  29.       cout << "是質數" << endl;           
  30.     }
  31.     else{
  32.       cout << "不是質數" << endl;     
  33.     }

  34.     system("pause");
  35.     return 0;   
  36. }
複製代碼

作者: 莊旻叡    時間: 2017-7-1 09:20

此帖僅作者可見
作者: 高品溫    時間: 2017-7-1 09:25

此帖僅作者可見
作者: 高睿辰    時間: 2017-7-1 09:31

此帖僅作者可見




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