//================
//try.cpp //这样的设计比较好,之前那个没召用子程序的老是到素数181就停下来,搞得我以为bcb坏了,还重装...
//新手找素数
//================
#include<iostream>
#include<cmath> //sqrt要用到这个库
using namespace std;
//----------------
bool ok(int n){ //定义一个布尔子程序ok
for(int i=2;i<=sqrt(n*1.0);i++){ //i循环到n平方根就足够了,这样的计算量最少,n*1.0把n变成doudle才好开根
if(n%i==0){ //如果整除就会判断为合数,那么返回结果为假
return false;
}
}
return true; //否则返回结果为真(即是素数)
}//----------------
int main(){
int num,k=0;
cout<<"请输入你要在什么范围内搜索素数: ";
cin>>num;
for(int j=2;j<=num;j++){ //从2开始到num,让每个数都送去程序OK()那里判断是合数还是素数
if(ok(j)){ //如果结果是真,就把这个数cout出来
cout<<j<<" ";
k +=1; //素数的个数增加1个
}
}
cout<<"\n\n报告:本次程序搜索 0 -- "<<num<<" 内素数,共搜索到"<<k<<"个素数!";
int p; //额外,杜绝运行后一闪而过
cin>>p;
}