21xrx.com
2024-12-22 23:24:39 Sunday
登录
文章检索 我的文章 写文章
C++编写求素数程序
2023-06-27 16:57:23 深夜i     --     --
C++ 素数 编程 算法 循环

在计算机编程中,求素数是一个经常被使用的操作。素数是指除了1和它本身外没有其他的因数的正整数。在很多情况下,我们需要找出给定数范围内的素数。本文将介绍如何使用C++编写一个求素数程序。

首先,我们需要定义一个函数来判断一个数是否为素数。我们可以使用“试除法”来判断,即将该数除以小于该数开方的所有正整数,如果都不能整除,则该数为素数。以下是判断一个数是否为素数的C++代码:


bool is_prime(int n) {

  if (n <= 1) return false;

  for (int i = 2; i * i <= n; i++) {

    if (n % i == 0) return false;

  }

  return true;

}

接下来,我们需要编写代码来输出给定范围内的素数。我们可以使用一个循环来遍历这个范围内的所有正整数,然后调用判断素数的函数来判断该数是否为素数。以下是输出指定范围内素数的C++代码:


void find_primes(int start, int end) {

  for (int i = start; i <= end; i++) {

    if (is_prime(i))

      std::cout << i << " ";

    

  }

  std::cout << std::endl;

}

最后,我们需要在主函数中调用上面两个函数来输出我们想要的素数范围。以下是完整的C++代码:


#include <iostream>

bool is_prime(int n) {

  if (n <= 1) return false;

  for (int i = 2; i * i <= n; i++) {

    if (n % i == 0) return false;

  }

  return true;

}

void find_primes(int start, int end) {

  for (int i = start; i <= end; i++) {

    if (is_prime(i))

      std::cout << i << " ";

    

  }

  std::cout << std::endl;

}

int main() {

  int start, end;

  std::cout << "Enter start and end of range: ";

  std::cin >> start >> end;

  find_primes(start, end);

  return 0;

}

通过输入起始值和结束值,我们就可以在控制台输出指定范围内的素数了。该程序的核心是判断素数的函数,我们可以在其他C++程序中使用该函数来判断某个数是否为素数。

  
  

评论区

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