C++ 程式透過建立函式檢查質數


質數是大於一的整數,且質數唯一的因子是它自身和 1。

前幾個質數是 −

2, 3, 5, 7, 11, 13 ,17

下面是一個使用函式檢查某個數字是不是質數的程式。

示例

 線上演示

#include <iostream>
using namespace std;
void isPrime(int n) {
   int i, flag = 0;
   for(i=2; i<=n/2; ++i) {
      if(n%i==0) {
         flag=1;
         break;
      }
   }
   if (flag==0)
   cout<<n<<" is a prime number"<<endl;
   else
   cout<<n<<" is not a prime number"<<endl;
}
int main() {
   isPrime(17);
   isPrime(20);
   return 0;
}

輸出

17 is a prime number
20 is not a prime number

使用 isPrime() 函式來判斷一個數字是否是質數。有一個迴圈,其在 2 到 n/2 之間執行,其中 n 是需要確定的數字。迴圈的每個值都可以整除 n。如果除法的餘數是 0,則表示 n 可以被某個數字整除,而不是它自身或 1。因此,它不是質數且標誌被設為 1。接著使用 break 語句退出迴圈,如下所示 −

for(i=2; i<=n/2; ++i) {
   if(n%i==0) {
      flag=1;
      break;
   }
}

如果標誌的值仍然為 0,則此數字是質數並且會被顯示出來。如果標誌值被更改為 1,則此數字不是質數且會被顯示出來。

if (flag==0)
cout<<n<<" is a prime number";
else
cout<<n<<" is not a prime number";

對於值 17 和 20,從 main() 函式呼叫 isPrime() 函式。這如下所示。

isPrime(17);
isPrime(20);

更新於: 24-6-2020

5000+ 次瀏覽

開啟你的 職業

完成課程獲得認證

開始
廣告
© . All rights reserved.