华师一附中OI组

标题: 无穷的序列(seq) 110100100010000 [打印本页]

作者: admin    时间: 2018-9-3 18:18
标题: 无穷的序列(seq) 110100100010000
【问题描述】
有一个无穷序列如下:
110100100010000100000...
请你找出这个无穷序列中指定位置上的数字
【输入】
第一行一个正整数N,表示询问次数;
接下来的N行每行一个正整数Ai,Ai表示在序列中的位置。
【输出】
N行,每行为0或l,表示序列第Ai位上的数字。
【输入样例】
4
3
14
7
6
【输出样例】
0
0
1
0
【数据范围】
对于100%的数据有N≤1500000,Ai≤10^9

作者: 黄煦喆    时间: 2018-10-28 22:19
  1. #include<cstdio>
  2. #include<time.h>
  3. using namespace std;
  4. int const maxn=1e9+10;
  5. bool b[maxn];
  6. int n,a=0,t=1,x;
  7. int main()
  8. {
  9.     while(t<=maxn)
  10.     {
  11.         b[t]=1;
  12.         a++;
  13.         t+=a;
  14.     }
  15.     scanf("%d",&n);
  16.     for(int i=1;i<=n;i++)
  17.     {
  18.         scanf("%d",&x);
  19.         printf("%d\n",b[x]);
  20.     }
  21.     return 0;
  22. }
复制代码

作者: 黄煦喆    时间: 2018-10-28 22:24
黄煦喆 发表于 2018-10-28 22:19

用随机数测了一下,答案应该是没错
作者: admin    时间: 2018-10-29 16:30
这样做好浪费呀、




欢迎光临 华师一附中OI组 (http://hsyit.cn/) Powered by Discuz! X3.2