Description
知道2個自然數A,B,如果A+B,A-B都是平方數,那麼A,B就是自然數對。要求寫程序判斷給定的2個數A,B是否為自然數對。
Input
第一行有1個整數T,表示有T組測試數據。第二行~第T+1行,每行有2個數據A,B,其中0<=A+B<=2^31且A>B。
Output
對於每組測試數據輸出一行,包含"YES"或者"NO"。"YES"表示該數對是自然數對,否則輸出"NO"。
Sample Input
2
17 8
3 1
Sample Output
YES
NO
[plain]
#include <stdio.h>
#include <math.h>
int square(int m);
int main()
{
int n;
int a;
int b;
scanf("%d", &n);
while(n--)
{
scanf("%d %d", &a, &b);
if(square(a-b) && square(a+b))
{
printf("YES");
}
else
{
printf("NO");
}
if(n>0)
{
printf("\n");
}
}
return 0;
}
int square(int m)
{
int i;
int flag=0;
i=sqrt(m);
if(i*i==m)
{
flag=1;
}
return flag;
}
#include <stdio.h>
#include <math.h>
int square(int m);
int main()
{
int n;
int a;
int b;
scanf("%d", &n);
while(n--)
{
scanf("%d %d", &a, &b);
if(square(a-b) && square(a+b))
{
printf("YES");
}
else
{
printf("NO");
}
if(n>0)
{
printf("\n");
}
}
return 0;
}
int square(int m)
{
int i;
int flag=0;
i=sqrt(m);
if(i*i==m)
{
flag=1;
}
return flag;
}