狮子座学素数

这篇博客介绍了狮子座对素数的热爱,特别是几乎素数的概念。几乎素数是指只有两个不同素数除数的数字,例如6和18。博客提出了一个编程问题,要求找出1到n之间的所有几乎素数,并提供了样例输入和输出。解决方案是应用埃氏筛选法,通过标记被素数倍数覆盖的数字来找出被标记两次的几乎素数。
摘要由CSDN通过智能技术生成

题目描述
狮子座很爱学习,最近沉迷于研究素数,一天他发现了一个很神奇的数,叫做几乎素数。定义如下:如果一个数字恰好具有两个不同的素数除数,则称为几乎素数。 例如,数字6、18、24是几乎素数,而数字4、8、9、42不是。 请你帮忙找出介于1和n之间(含1和n)的几乎素数的数量。
输入
输入包含一个整数n(1≤n≤3000)
输出
输出1到n之间(含1和n)的几乎素数的数量。
样例输入 Copy
10
样例输出 Copy
2

思路:利用埃氏筛选素数思想,首先打表,素数不会被标记,每个素数的倍数都会被标记一次,所以按照题目的意思,我们只需要找到被标记两次的数,那么这个数就是几乎素数
埃氏筛应该是算是一种简单编写,容易理解的筛选素数的方法了
点我了解埃氏筛

#include <bits/stdc++.h>
using namespace std;
int num
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值