用于检查一个数字是否为素数的 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+ 浏览量

开启你的 职业生涯

完成课程以获得认证

开始
广告
© . All rights reserved.