JZOJ 3764. 【NOIP模拟 8.12】幸运数(lucky)

Description

如果一个正整数的所有质因子都小于等于m且每种质因子个数都为奇数,则称这个数为幸运数,例如当m=3时,6是幸运数而5不是,12也不是幸运数(2这个质因子有偶数个)。

给定n,m,求小于等于n的幸运数有多少个。

Input

一行2个数,表示n,m。

Output

一行1个数,表示幸运数的个数。

Sample Input

10 3

Sample Output

5

Data Constraint

对于20%的数据,n<=10^4,m<=10^4;

对于40%的数据,n<=10^7,m<=10^6;

对于80%的数据,n<=10^8,m<=10^6;

对于100%的数据,n<=10^9,m<=10^6。

分析

我们直接暴力枚举每个质数出现的次数,然后我们可以发现,我们假设当前枚举到p,当前的积为sum,假设sum * p * p > n那么这个时候就不用枚举了,因为这种情况下只有一种可能,就是在p之后最多只会出现一个质数,那么二分即可

代码

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值