用於檢查一個數字是否為素數的 C++ 程式


素數是大於 1 的整數,並且素數的唯一因子應為 1 和它本身。下面列出了一些最初的素數:

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

用於檢查一個數字是否是素數的程式如下。

示例

 線上示例

#include <iostream>
using namespace std;
int main() {
   int n=17, 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";
   else
   cout<<n<<" is not a prime number";
   return 0;
}

輸出

17 is a prime number

在上述程式中,存在一個迴圈,從 2 執行到 n 的一半,其中 n 是要確定的數字。迴圈的每個值都除以 n。如果此次除法的餘數為 0,則表示 n 可以被某數整除,不是 1 或它本身。因此它不是素數,並將標誌設定為 1。然後使用 break 語句來退出迴圈。

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

如果標誌的值保持為零,則該數是素數,並將顯示。如果標誌的值變為 1,則該數不是素數,並將顯示。

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

更新日期:2020 年 6 月 23 日

3K+ 瀏覽量

開啟你的 職業生涯

完成課程以獲得認證

開始
廣告