21xrx.com
2025-03-26 00:01:54 Wednesday
文章检索 我的文章 写文章
如何在C++中判断一个数是否为质数
2023-07-05 13:47:15 深夜i     20     0
C++ 判断 质数 算法

在C++中,判断一个数是否为质数可采用以下算法:

1. 输入待判断的数num。

2. 枚举2到sqrt(num)之间的所有正整数i,如果num能被i整除,则num不是质数,直接返回false。

3. 如果2到sqrt(num)之间的所有正整数i都不能整除num,那么num是质数,返回true。

代码实现如下:

#include <iostream>
#include <cmath>
using namespace std;
bool is_prime(int num)
{
  if (num <= 1) return false;  //1不是质数
  int sqr = sqrt(num);
  for (int i = 2; i <= sqr; i++)
  {
    if (num % i == 0)
      return false;
  }
  return true;
}
int main()
{
  int num;
  cout << "请输入一个数:";
  cin >> num;
  if (is_prime(num))
    cout << num << "是质数。" << endl;
  else
    cout << num << "不是质数。" << endl;
  return 0;
}

这里使用了C++中的sqrt函数,用于求一个数的平方根。同时,注意判断1不是质数的情况。

使用以上算法,我们可以方便地判断一个数是否为质数,这对于数学计算及编程都是非常有用的。

  
  

评论区

请求出错了