【题目描述】
用筛法求出n(2≤n≤1000)n(2≤n≤1000)以内的全部质数。
【输入】
输入nn。
【输出】
多行,由小到大的质数。
【输入样例】
10
【输出样例】
2
3
5
7
【代码】
#include<iostream>
#include<cstdio>
#include<math.h>
using namespace std;
#define N 1000
int a[N]={0};
int main()
{
int n;
cin>>n;
for(int i=2;i<=n;i++)
{
a[i]=i;
}
//判断素数
for(int i=2;i<=n;i++) //从数组中分别取出数
{
for(int j=2;j<=sqrt(i);j++)
{
if(i%j==0)
{
a[i]=0;
break;
}
}
if(a[i]!=0)
{
cout<<a[i]<<endl;
}
}
return 0;
}
【做题链接】
信息学奥赛一本通(C++版)在线评测系统http://ybt.ssoier.cn:8088/problem_show.php?pid=2040