版权声明:转载请声明原文链接地址,谢谢! https://blog.csdn.net/weixin_42859280/article/details/84974033
题目描述
用筛法求之N内的素数。
输入
N
输出
0~N的素数
样例输入
100
样例输出
2
3
5
7
11
13
17
19
23
29
31
37
41
43
47
53
59
61
67
71
73
79
83
89
97
提示
数组大小动态定义?函数?
来源/分类
C语言
题目截图:
思路:
这个以前就碰到的,要使用两层for循环语句来解决!
for(int i=1;i<s;i++)
{
//cout<<"i开始: "<<i<<endl;
a=0;
for(int j=1;j<i;j++)
{}
}
筛选素数,的条件,不能为自身和1!还不能有因子。
if(i%j==0&&i!=j&&j!=1)
最后输出,不能输出1!
if(a!=1&&i!=1)
{cout<<i<<endl;}
//<<endl<<endl<<"最后: "
代码:
#include<iostream>
using namespace std;
int main()
{
int a,b,s;
cin>>s;
for(int i=1;i<s;i++)
{
//cout<<"i开始: "<<i<<endl;
a=0;
for(int j=1;j<i;j++)
{
if(i%j==0&&i!=j&&j!=1)
{
a=1;
}
//cout<<"j: "<<j<<endl;
}
if(a!=1&&i!=1)
{cout<<i<<endl;}//<<endl<<endl<<"最后: "
}
}
代码截图:
代码执行截图:
OJ结果: