这是一道找规律的数学题

有4,9,16,25......完全平方数

那么每把一个1变为完全平方数对于总和大小的增量依次为3,8,15,24......

就比如

1->4->7->10->13->16

1->9->17->25->......

特殊一点增量混合:1->9->12->15->......

发现了一个天大的密码,15,16,17是三个连续的数,那么以这三个数为基准增量为3能覆盖了15后面所有的数

即大于等于15就输出Yes

那么只要再处理数1~14即可

在1~14的增量最多也就是3,那么判断当前数减去4或9后能被3整除就输出Yes,否则输出No,1作为特殊输出Yes

---数学题太难了,根本看不出来,我只能想到增量为3并且取余,根本没看出来有连续的三个数呜呜呜。。。---

#include<bits/stdc++.h>
using namespace std;
#define int long long

void solve(){
    int n;
    cin>>n;
    if(n>=15){
        cout<<"Yes"<<endl;
    }else if(n==1||(n>=4&&((n-4)%3==0))||(n>=9&&((n-9)%3==0))){
        cout<<"Yes"<<endl;
    }else cout<<"No"<<endl;
}

signed main(){
    ios::sync_with_stdio(false),cin.tie(0),cout.tie(0);
    int t;
    cin>>t;
    while(t--){
        solve();
    }
    return 0;
}