这道题可以直接暴力枚举,因为(2≤n≤1000),把判断质数的代码写成函数,如下:
bool ip(int x){
if(x==0||x==1) return false;
for(int i=2;i<=sqrt(x);i++){
if(x%i==0) return false;
}
return true;
}
也可以:
#include<bits/stdc++.h>
using namespace std;
int main(){
int n;
cin>>n;
//int a[n]={0};
int z[n]={0};
int num;
int num_z=0;
for(int i=0;i<=n;i++){
num=0;
for(int j=2;j<i;j++){
if(i%j==0){
num=num+1;
}
}
if(num==0){
z[num_z]=i;
num_z=num_z+1;
}
}
for(int i=2;i<num_z;i++){
cout<<z[i]<<endl;
}
cout<<endl;
}