数学构造:是否是a^2-b^2

133 阅读1分钟

蓝桥

a2b2=(a+b)(ab)a^2-b^2=(a+b)(a-b)

a,b均是奇数= 偶* 偶= 4的倍数

a,b均是偶数= 偶* 偶=4的倍数

a,b一奇一偶= 奇* 奇=奇数

所以只要判断x是否是奇数或是4的倍数即可

时间复杂度O(n)

#include <iostream>
using namespace std;
typedef long long ll; 
int main() {
	int n;
	cin>>n;
	for(int i=0;i<n;i++){
		ll x;
		cin>>x;
		if((x%4==0)||(x%2==1)) cout<<"Yes ";
  		else cout<<"No ";
	}
	
    return 0;
}