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.