等式
题目描述
a,b,c是正整数,且a≤b≤c,已知a2+b2+c2=n,求a,b,c有多少种不同的值?
输入格式
第一行是一个整数T(1≤T≤500),表示样例的个数。
以后每行一个样例,为一个整数n (3≤n≤106)。
输出格式
依次每行输出每个样例的结果,为一个整数。
样例输入
2
3
2021
样例输出
1
17
cpp
#include<stdio.h>
#include<math.h>
int main()
{
int N;
scanf("%d",&N);
while(N--)
{
long long n;
scanf("%lld",&n);
int count=0;
for(int a=1;a*a<=n;a++)
{
for(int b=a;a*a+b*b<=n;b++)
{
double c=sqrt(n-a*a-b*b);
if(c==(int)c&&c>=b)
count++;
}
}
printf("%d\n",count);
}
return 0;
}