2040:【例5.7】筛选法找质数时间限制: 1000 ms 内存限制: 65536 KB 提交数: 16647 通过数: 11328 【题目描述】用筛法求出n(2≤n≤1000)以内的全部质数。 【输入】输入nn。 【输出】多行,由小到大的质数。 【输入样例】10 【输出样例】2
3
5
7 |
教学备忘录:编辑 |
#include<iostream> #include<cmath> #include<cstring> using namespace std; int main() { int a[1002],n,m,j,k=0,x,t=0; scanf("%d",&n); for(int i=2;i<=n;i++)//从2开始,i是数组的序号 { a[i]=1;//数组中的元素为1 for(j=2;j<i;j++)//判断比自己序号小的是不是质数 { if(i%j==0)// { a[i]=0; break; } } } for(int i=1;i<=n;i++)//如果是质数,输出 if(a[i]==1) printf("%d\n",i);
return 0; } |