添加链接描述
简单思维题:题中出现了根号 就想到了平方, 把登时左右平方。
得到 i + j + 2sqrt(i * j) = k; 即2 * sqrt(ij) = k - i - j;
因为 i,j, k 为正整数 所以2sqrt(ij) 也是正整数, 所以i*j为一个平方数
接下来就是暴力枚举:
#include <bits/stdc++.h>
using namespace std;
int main ()
{
int n, ans = 0;
std:: cin >> n;
for (int i = 1; i <= sqrt(n); i ++ )
{
int k = i * i;
for (int j = 1; j <= sqrt(k); j ++ )
{
if (j == i) ans += 1;
else if (k%j == 0) ans += 2;
}
}
cout << ans << endl;
return 0;
}