题目 1022: [编程入门]筛选N以内的素数(全网最佳C++详细讲解)

38 篇文章 0 订阅

题目描述

用简单素数筛选法求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++入门习题内容!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值