分析:
我们可以看出1出现位置的规律:
0
1=0+1
3=1+2
6=1+2+3
10=1+2+3+4
总结出1出现的位置是:满足1+2+…n的,然后根据求和公式枚举判断即可。
AC:
#include<bits/stdc++.h>
using namespace std;
int t,flag=0,x;
int main(){
std::ios::sync_with_stdio(false);cin>>t;while(t--){
flag=0;cin>>x;x--;x=x*2;//问题转换为x能不能表示成n(n+1)的形式for(int i=0;i<=sqrt(x)+100;i++){
if(i*i+i==x){
flag=1;}}if(flag) cout<<"1"<<endl;else cout<<"0"<<endl;}return 0;
}