vc++中的一个问题

来源:百度知道 编辑:UC知道 时间:2024/06/09 00:32:00
编写一个函数判断一个整数是否为素数.并在主函数中通过该函数求出所有3位数的素数,要求每行输出5个素数

这么简单,你应该学一学钱能的C++,那上面有好多种方法!
#include <iostream>
#include <bitset>
#include <cmath>
using namespace std;
const int num=10000;
void IsPrime(bitset<num> *&p)
{
double SqrtNum=num;
SqrtNum=sqrt(SqrtNum);
for(int i=2;i<=SqrtNum;i++)
if(p->test(i))
for(int j=i*i;j<p->size();j+=i)
p->reset(j);
}

int main()
{
int PrintNum=0;
bitset<num> *p=new bitset<num> ;
p->set();
IsPrime(p);
for(int i=2;i<num;i++)
if(p->test(i))
{
cout<<i<<" ";
PrintNum++;
if(PrintNum%5==0)cout<<endl;
}
char a;
cin>>a;
delete[] p;
return 0;
}

easy