Cassels方程是一个在数论界产生了巨大影响的不定方程:x2+y2+z2=3xyz。该方程有无穷多自然数解。
本题并不是要你求解这个方程,只是判断给定的一组 (x,y,z) 是不是这个方程的解。
输入格式:
输入在第一行给出一个不超过 10 的正整数 N,随后 N 行,每行给出 3 个正整数 0<x≤y≤z≤1000。
输出格式:
对于每一组输入,如果是一组解,就在一行中输出 Yes
,否则输出 No
。
输入样例:
2
1 1 1
5 6 7
结尾无空行
输出样例:
Yes
No
结尾无空行
#include<stdio.h>
int main()
{
int length, x, y, z, i;
scanf("%d", &length);
if (length > 0)
{
for (i = 1; i <= length; i++)
{
scanf("%d %d %d", &x, &y, &z);
if (x*x + y * y + z * z == 3 * x*y*z)
{
printf("Yes\n");
}
else
{
printf("No\n");
}
}
}
return 0;
}