xtuoj 等式

等式

题目描述

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;
}
相关推荐
客梦1 分钟前
数据结构-单链表
数据结构
M__332 分钟前
动规入门——斐波那契数列模型
数据结构·c++·学习·算法·leetcode·动态规划
LYFlied27 分钟前
Vue3虚拟DOM更新机制源码深度解析
前端·算法·面试·vue·源码解读
薛不痒34 分钟前
机器学习算法之集成学习随机森林和贝叶斯
算法·机器学习·集成学习
竹一阁37 分钟前
跟踪导论(十二)——卡尔曼滤波的启动:初始参数的设置
算法·信号处理·雷达·信号与系统
youngee1140 分钟前
hot100-48课程表
算法
kesifan1 小时前
数据结构线性表
数据结构·算法
leo__5201 小时前
如何计算一个二维地质模型的表面重力值和重力异常
算法
代码游侠1 小时前
应用——基于Linux的音乐播放器项目
linux·运维·笔记·学习·算法