Odd Numbers of Divisors

给出一个正奇数K,两个正整数low,high。

有多少整数属于[low, high],且包含K个因子。

数据

C(0 < C < 1e5),测试样例数。

(1 < K < 10000, 0 < low <= high < 1e10)。

输入

3

3 2 49

9 1 100

5 55 235

输出

4

2

1

 看了昨天的题解感觉自己真的好蠢啊,因为这个问题一看就是有规律的啊,然后题解上说因数为正奇数的数一定是完全平方数,这种题以后遇见了,就好好的打标就行了,要不这个问题怎么做啊、、、、

现在我们知道了这个是正奇数,我们现在怎么求,我们根据现在的情况我们可以看出来一共最多有1--sqrt(n)个平方数,所以说我们二分就行了,看看第几个因子在hight的边界,看看第几个因子在1--low-1有多少个因子,然后两个只要做差就能解决出来这个问题了。

原文地址:https://www.cnblogs.com/Heilce/p/6420127.html