51nod 1087 1 10 100 1000

来源:互联网 发布:淘宝网折800唯影女装 编辑:程序博客网 时间:2024/05/21 23:56
题目链接:https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1087
题意:
1,10,100,1000...组成序列1101001000...,求这个序列的第N位是0还是1。
Input
第1行:一个数T,表示后面用作输入测试的数的数量。(1 <= T <= 10000)第2 - T + 1行:每行1个数N。(1 <= N <= 10^9)
Output
共T行,如果该位是0,输出0,如果该位是1,输出1。

打表。
#include <iostream>#include<bits/stdc++.h>#define N 100000010using namespace std;bool d[N];void init(){    int i=0;    while(1)    {        int t=i*(i+1)/2+1;        if(t>=N)    break;        d[t]=1;        i++;    }}int main(){    init();    int T;    scanf("%d",&T);    while(T--)    {        int n;        scanf("%d",&n);        cout<<d[n]<<endl;    }}

0 0
原创粉丝点击