一种简单的思维
一看到根号就马上想到平方。然后这题就出来了。
把左右平方。
即
也就是
已知都为正整数
所以为正整数
那么为正整数
所以,
是一个正整数,也就是
为一个平方数,
是他的因数
我们知道所以
然后暴力枚举就行了
有一点需要十分十分十分注意,本蒟蒻被弄了好几次
这个重复,交换也算的,所以就是纯碎的因数个数
贴上蒟蒻代码:
#include<bits/stdc++.h> using namespace std; int n,ans; int main(){ scanf("%d",&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; } } printf("%d",ans); }