蓝桥杯真题 河狸的数

90 阅读1分钟

www.lanqiao.cn/problems/34…

image.png

官方

image.png

image.png

理解

每输入一个数 都看它是否是 a^2-b^2的形式

a^2-b^2的形式是什么意思呢?

a^2-b^2=(a+b)*(a-b)

当a,b都为偶数时,(a+b)(a-b)一定是4的倍数或者0,例如(4+2)(4-2)=12 (3+2)(2-2)=0

当a,b都为奇数时,(a+b)(a-b)一定是4的倍数或者0,例如(3+1)(3-1)=8 (1+1)(1-1)=0

当a,b一奇一偶时,(a+b)(a-b)一定是奇数,例如(2+1)*(2-1)=3

所以输入一个数 我们只需要看它是不是0或者是不是4的倍数 就可以看它是否符合 a^2-b^2的形式

code

#include <iostream>
using namespace std;
int main()
{
  

  int n=0; 
  cin>>n;
   
  
  for(int i=0;i<n;i++)
  {
    long long  x;
    cin>>x;

     if(x%4==0||x%2==1)cout<<"Yes"<<" ";
     else cout<<"No"<<" ";
  }
 
  return 0;
}