其实不需要数据!具体原因请看如下分析:
首先是 构造偶数:
然后是奇数:
可以轻而易举地发现,偶数构造方法中,只要大正方形变大一个,正方形数量就+2。
再看奇数,我们可以把其中一个大正方形 9等分 ,正方形的数量就+8。
那么可以发现,除了 ,其余情况均为可以。
代码:
#include <bits/stdc++.h>
using namespace std;
int main(){
int n,x; cin>>n;
while (n--){
cin>>x; int tmp=sqrt(x);
if (x%2==0&&x>2||x%8==1||x%8==7||(x%8==3&&x>=11)||(x%8==5&&x>=13)) cout<<"Yes\n";//此处同理
else cout<<"No\n";
}
}