51Nod-1087-1 10 100 1000

ACM模版

描述

题解

找规律,查找数列中1的通式。

(0+1+2+…n)+1==N
(o+n)*(n+1)/2+1==N
n*(n+1)==(N-1)*2
(N-1)*2=m*m
n

代码


#include <iostream>
#include <cstdio>
#include <cmath>

using namespace std;

int main(int argc, const char * argv[])
{
    int T;
    int N;

    cin >> T;
    while (T--)
    {
        scanf("%d", &N);
        double m = sqrt((N - 1) * 2);
        if ((int)m * (int)(m + 1) == (N - 1) * 2)
        {
            printf("1\n");
        }
        else
        {
            printf("0\n");
        }
    }

    return 0;
}
全部评论

相关推荐

06-04 09:27
门头沟学院 Java
点赞 评论 收藏
分享
牛客38347925...:9,2学生暑期实习失利开始投小厂,给这群人整自信了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务