21xrx.com
2024-09-20 00:16:05 Friday
登录
文章检索 我的文章 写文章
C++编程:求不小于给定数m的最小素数
2023-07-05 19:53:41 深夜i     --     --
C++ 编程 最小素数 给定数m

素数是指只能被1和自身整除的自然数。在C++编程中,我们可以通过算法来求不小于给定数m的最小素数。

首先,我们需要定义一个函数来判断一个数是否为素数。该函数可以采用筛法来进行判断,该方法基于一个简单的事实:如果一个数n不是素数,则它可以被分解为两个自然数a和b(1 < a <= b < n),即n = a*b。因此,如果该数n不能被任何小于等于n开方的自然数整除,则它是素数。

接下来,我们需要定义一个函数来求出不小于给定数m的最小素数。首先,该函数需要判断m是否为素数。如果是,直接返回该数;如果不是,则从m+1开始逐个判断每个数是否为素数,直到找到第一个素数为止。

以下是基于这些思路编写的C++代码示例:


#include <iostream>

#include <cmath>

using namespace std;

// 判断一个数是否为素数

bool isPrime(int n) {

  if (n <= 1) return false;

  int square = sqrt(n);

  for (int i = 2; i <= square; i++) {

    if (n % i == 0)

      return false;

    

  }

  return true;

}

// 求不小于给定数m的最小素数

int findNextPrime(int m) {

  if (isPrime(m)) return m;

  int n = m + 1;

  while (!isPrime(n)) {

    n++;

  }

  return n;

}

int main() {

  int m;

  cin >> m;

  cout << findNextPrime(m) << endl;

  return 0;

}

使用上述代码编写程序可以求出给定数m的最小素数,从而实现了C++编程中求素数的功能。

  
  

评论区

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