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之后最多只会出现一个质数,那么二分即可
代码