法一:
#include<iostream>
using namespace std;
int main()
{
int i1 = 0;
for (i1 = 2; i1 < 1000; i1++)
{ int i2 = 0;
int number=1;
for (i2 = 2; i2 < i1; i2++)
{
if (i1 % i2 == 0)
{
number = 0;
break;
}
}
if(number==1) cout<<i1<<" ";
}
printf("\n");
return 0;
}
法二:
#include<iostream>
#include<cmath>
using namespace std;
int isprime(int a)
{
int i;
int ret=1;
for(i=2;i<=sqrt(a);i++){
if (a%i==0) {
ret=0;
break;
}
}
return ret;
}
int main()
{
int num;
for(num=2;num<=1000;num++){
if (isprime(num)) cout<<num<<" ";
}
return 0;
}
法三:
#include<iostream>
using namespace std;
int main()
{
int prime[1005];
for(int i=0;i<1005;i++){
prime[i]=1;
}
for(int i=2;i<=1000;i++){
if(prime[i]){
//i的倍数不是素数
for(int j=2*i;j<1005;j+=i){
prime[j]=0;
}
}
}
for(int i=2;i<1000;i++){
if(prime[i]) cout<<i<<" ";
}
return 0;
}
运行结果: