21xrx.com
2024-12-22 23:12:28 Sunday
登录
文章检索 我的文章 写文章
C++编写求素数的代码
2023-07-04 07:56:13 深夜i     --     --
C++ 素数 代码

素数是一种特殊的数字,它只能被1和它本身整除。在数字领域中有着重要的应用,比如密码学、加密算法等。那么,如何用C++编写求素数的代码呢?下面就来一起学习一下。

1. 判断一个数字是否是素数

首先,判断一个数字是否是素数是非常关键的一步。考虑到一个数n是否是素数只需判断2~sqrt(n)间的所有整数是否能够被n整除即可。如果存在一个整数可以被n整除,则n不是素数,反之则是素数。

bool is_prime(int n){

  if(n<2)

    return false;   

  for(int i=2;i<=sqrt(n);i++){  //从2到sqrt(n)遍历

    if(n%i==0)     

      return false;

  }

  return true;

}

2. 打印1~n中的所有素数

有了判断素数的函数,接下来就可以利用该函数遍历1~n,找到其中所有的素数,打印输出即可。

void print_prime(int n){

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

    if(is_prime(i))

      cout<<<" ";  //输出素数

  }

}

完整代码如下:

#include

#include

using namespace std;

bool is_prime(int n){

  if(n<2)

    return false;

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

    if(n%i==0)     

      return false;

  }

  return true;

}

void print_prime(int n){

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

    if(is_prime(i))

      cout<<<" "; 

  }

}

int main(){

  int n;

  cin>>n;

  print_prime(n);  

  return 0;

}

以上就是C++编写求素数的代码。对于更大的素数,该代码可能会有些慢,需要进一步进行优化,例如使用线性筛法。但是对于一般的大小的素数,该代码已经足够快了。

  
  

评论区

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