21xrx.com
2024-11-05 19:32:51 Tuesday
登录
文章检索 我的文章 写文章
C++求100到200之间的素数
2023-07-01 04:31:16 深夜i     --     --
C++ 素数 求解

如果你正在学习C++编程语言,那么求解100到200之间的素数是一个不错的练手项目。素数是指只能被1和它本身整除的数字,因此求解素数需要用到整除操作和循环语句。

首先,我们需要明确一个概念:如何判断一个数是否为素数。在C++中,可以使用以下代码进行判断:


bool is_prime(int n){

  if(n<2) return false;

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

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

  }

  return true;

}

这个函数会接受一个整数n作为输入,返回一个布尔值,表示n是否为素数。函数内使用了一个循环语句,在2到sqrt(n)之间遍历每个数字i,并判断n是否能被i整除。如果n能被整除,就说明n不是素数,返回false;否则,最终返回true,表示n是素数。

有了判断素数的函数,我们就可以写出求解100到200之间所有素数的程序了:


#include <iostream>

using namespace std;

bool is_prime(int n){

  if(n<2) return false;

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

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

  }

  return true;

}

int main(){

  int count=0;

  for(int i=100;i<=200;i++){

    if(is_prime(i)){

      cout<<i<<" ";

      count++;

    }

  }

  cout<<endl<<"共有"<<count<<"个素数"<<endl;

  return 0;

}

这个程序使用了一个计数器变量count,用于统计找到的素数数量。使用for循环遍历100到200的所有数字,对于每个数字i,判断它是否为素数,并将其输出到屏幕上。如果i是素数,计数器增加1。程序结束后,输出计数器的值,即找到的素数个数。

运行程序,可以得到如下结果:


101 103 107 109 113 127 131 137 139 149 151 157 163 167 173 179 181 191 193 197 199

共有21个素数

这就是100到200之间的所有素数,共有21个。如果你对C++编程有更深入的理解,也可以尝试使用更高效的算法,如埃拉托斯特尼筛法,来求解素数。无论如何,求解素数是一个有趣的编程挑战,也是很多C++程序员入门的必修项目。

  
  

评论区

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