【008】查找素数

【题目】找出100~200间的全部素数。

【解答】

#include <iostream>

#include <cmath>

#include <iomanip>

using namespace std;

int main( )

{

 int m,k,i,n=0;

 bool prime; //定义布尔变量prime

 for(m=101;m<=200;m=m+2) //判别m是否为素数,m由101变化到200,增量为2

 {

  prime=true; //循环开始时设prime为真,即先认为m为素数

  k=int(sqrt(m)); //用k代表根号m的整数部分

  for(i=2;i<=k;i++) //此循环的作用是将m被2~根号m除,检查是否能整除

  if(m%i==0) //如果能整除,表示m不是素数

  { 

   prime=false; //使prime变为假

   break; //终止执行本循环

  } 

  if (prime) //如果m为素数

  {

   cout<<setw(5)<<m; //输出素数m,字段宽度为5

   n=n+1; //n用来累计输出素数的个数  

  }

  if(n%10==0) 

   cout<<endl; //输出10个数后换行

 }

 cout<<endl; //最后执行一次换行

 return 0;

}

 

posted @ 2015-10-11 23:12  薛定谔的猪  阅读(133)  评论(0编辑  收藏  举报