【题目描述】
用筛法求出n(2≤n≤1000)n(2≤n≤1000)以内的全部质数。
【输入】
输入nn。
【输出】
多行,由小到大的质数。
#include<iostream>
#include<cmath>
#include<iomanip>
using namespace std;
int n; bool m[101]; //使用bool这个数据类型定义数组,可以确认质数和合数
int main()
{
cin>>n;
for(int i=0;i<=n;++i) m[i]=true; //先把所有的都看成质数
m[1]=false; //1既不是质数,又不是合数
for(int i=2;i<=sqrt(n);++i) //sqrt是开平方根
if(m[i]) //这里系统会自动判断m[i]是否等于true
for(int j=2;i<=n/i;++j)
m[i*j]=false;
for(int i=2;i<=n;i++)
if(m[i])
{
cout<<i<<endl;
}
return 0;
}