用於檢查一個數字是否為素數的 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";
廣告