程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> 問題一百三十二:自然數對

問題一百三十二:自然數對

編輯:關於C語言

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;
}
  

 

\
 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved