0028 自然数对 c/c++

题目描述
知道2个自然数A,B,如果A+B,A-B都是平方数,那么A,B就是自然数对。要求写程序判断给定的2个数A,B是否为自然数对。

输入
第一行有1个整数T,表示有T组测试数据。第二行~第T+1行,每行有2个数据A,B,其中0 < = A+B < = 2^31。A,B间的大小关系未知。

输出
对于每组测试数据输出一行,包含"YES"或者"NO"。"YES"表示该数对是自然数对,否则输出"NO"。

样例输入

2
17 8
3 1

样例输出

YES
NO

#include <stdio.h>
#include<math.h>
int main()
{
    int x;
    int c,d;
    scanf("%d",&x);
    while(x--){
    int a,b;
    scanf("%d %d",&a,&b);
    float c,d;
 
    c=sqrt(a+b);d=sqrt(a-b);
    if(c==(int)c&&d==(int)d){
        printf("YES\n");
    }
    else{
        printf("NO\n");
    }
 
    }
return 0;
}
上一篇:0030 简单的四则运算 c/c++


下一篇:0026 c/c++语言 水仙花数