一种简单的思维

一看到根号就马上想到平方。然后这题就出来了。
把左右平方。

也就是
已知都为正整数
所以为正整数
那么为正整数
所以是一个正整数,也就是为一个平方数,是他的因数
我们知道所以
然后暴力枚举就行了
有一点需要十分十分十分注意,本蒟蒻被弄了好几次
这个重复,交换也算的,所以就是纯碎的因数个数
贴上蒟蒻代码:

#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);
}