21xrx.com
2024-12-22 20:34:36 Sunday
登录
文章检索 我的文章 写文章
如何在C++中判断一个数是否为质数
2023-07-05 13:47:15 深夜i     --     --
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不是质数的情况。

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

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复