题目描述
用简单素数筛选法求N以内的素数。
题目链接
https://www.dotcpp.com/oj/problem1022.html
解法分析
作为初学者,只需掌握利用素数判断函数来判断素数即可。
编写一个bool is_prime(int x)
函数用于判断数字n是否是质数,最后在外层循环直接做判断输出即可!
🎈 作者:Eriktse
🎈 简介:19岁,211计算机在读,现役ACM银牌选手🏆力争以通俗易懂的方式讲解算法!❤️欢迎关注我,一起交流C++/Python算法。(优质好文持续更新中……)🚀
代码(超详细注释)
#include<iostream>
using namespace std;
using ll = long long;//开longlong避免数据溢出
bool is_prime(int x)
{
//返回一个bool值表示x是否是一个素数
if(x < 2)return false;//特盘
for(ll i = 2;i <= x / i; ++ i)//这里的ll = long long
if(x % i == 0)return false;
return true;
}
int main()
{
ll n;cin >> n;
for(ll i = 1;i <= n; ++ i)//扫描1到n的所有数字
{
if(is_prime(i))
cout << i << '\n';//如果i是素数就输出并换行
}
return 0;
}
🎈创作不易,欢迎关注我的CSDN账号!持续更新优质C++入门习题内容!
🎈创作不易,欢迎关注我的CSDN账号!持续更新优质C++入门习题内容!