小熊维尼正在学习蜜蜂的知识。他知道如果一个数字可以表示为某个整数的平方,那么这个数字就是一个“蜂蜜平方数”。
有一天,维尼发现有些蜂蜜平方数可以写成两个其他数字的乘积,例如:
16=4^{2}=2 × 8
16 既可以写成4 的平方,也可以写成2 乘8。所以,他将这样的数对(2, 8) 称为“蜂蜜数对”,当然(4, 4) 本身也是蜂蜜数对。
现在给定一个正整数 n ,请你帮助维尼计算在数对中两个数字均不超过 n 的情况下,有多少对蜂蜜数对?
我们可以用数学公式来更好地表达这个问题。给定一个正整数 n ,你需要找到所有符合以下条件的数对(a, b):
1. a ≤n
2. b ≤n
3. a ×b 是一个完全平方数
对于每个完全平方数 k^{2} (其中 k 为整数),我们需要找到所有可能的数对 (a, b) 使得 a ×b=k^{2} 并且 a ≤n 和 b ≤n 。
输入一个正整数,表示 n
输出满足条件的数对个
5
7
样例解释:(1,1),(1,4),(2,2),(3,3),(4,1),(4,4),(5,5) 共 7 对。
- 对于30% 的数据: 1 ≤n ≤50
- 对于60% 的数据: 1 ≤n ≤10^{5}
- 对于100% 的数据: 1 ≤n ≤2 ×10^{6}
时间限制 | 2 秒 |
内存限制 | 512 MB |