/*
* Copyright (c) 2011, 烟台大学计算机学院
* All rights reserved.
* 作 者:解晓东
* 完成日期:2012 年 10 月 22 日
* 版 本 号:v1.0
*
* 输入描述:
* 问题描述:找出100到200之间的全部素数并输出
* 程序输出:
* 问题分析:
* 算法设计:
*/
# include
# include
# include
using namespace std;
int main()
{
int m, k, i, n = 0;
bool prime;//定义bool变量
for(m = 101; m <= 200; m += 2)//判断m是否为素数,m由101变化到200,增量为2
{
prime = true;//循环开始时设prime为真,即先认为m为素数
k = int(sqrt(m));//用k代表sqrt(m)的整数部分
for(i=2; i<=k; ++i)//此循环的作用是将m被2至sqrt(m)除,检查是否能整除
{
if(m%i == 0)//如果能整除,表示m不是素数
{
prime = false;//使prime为假
break;//终止执行本循环
}
}
if(prime)//如果m为素数
{
cout<
n += 1;//n用来累计素数的个数
}
if(n%10 == 0)//输出10个数后换行
cout<
}
cout<
return 0;
}
/*
在vc++6.0中运行的结果是:
---------------------------------------------------
101 103 107 109 113 127 131 137 139 149
151 157 163 167 173 179 181 191 193 197
199
---------------------------------------------------
*/