51Nod 1087 1 10 100 1000 | 数学

Input示例
3
1
2
3
Output示例
1
1
0

#include "bits/stdc++.h"
using namespace std;
#define LL long long
#define INF 0x3f3f3f3f3f
#define PI acos(-1)
#define N 510
#define MOD 10
using namespace std;

int main()
{
    int n,t,m;
    scanf("%d",&t);
    while(t--){
        scanf("%d",&m);
        if(m==1){
            puts("1");continue;
        }
        int f=0,i;
        for(i=1;i<=m;i++){
            if(i*i+i==2*m){
                f=1;
                break;
            }else if(i*i+i>2*m){
                f=2;
                break;
            }
        }
        if(f==2){
            i--;
            if(m==1+(i*i+i)/2)
                f=3;
        }
        if(f==3)
            puts("1");
        else
            puts("0");
    }
    return 0;
}
原文地址:https://www.cnblogs.com/kimsimple/p/7461220.html