华师一附中OI组

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1819|回复: 3
打印 上一主题 下一主题

无穷的序列(seq) 110100100010000

[复制链接]

738

主题

1485

帖子

5420

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
5420
跳转到指定楼层
楼主
发表于 2018-9-3 18:18:57 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
【问题描述】
有一个无穷序列如下:
110100100010000100000...
请你找出这个无穷序列中指定位置上的数字
【输入】
第一行一个正整数N,表示询问次数;
接下来的N行每行一个正整数Ai,Ai表示在序列中的位置。
【输出】
N行,每行为0或l,表示序列第Ai位上的数字。
【输入样例】
4
3
14
7
6
【输出样例】
0
0
1
0
【数据范围】
对于100%的数据有N≤1500000,Ai≤10^9
回复

使用道具 举报

738

主题

1485

帖子

5420

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
5420
地板
 楼主| 发表于 2018-10-29 16:30:38 | 只看该作者
这样做好浪费呀、
回复 支持 反对

使用道具 举报

9

主题

158

帖子

470

积分

华一学生

积分
470
QQ
板凳
发表于 2018-10-28 22:24:20 | 只看该作者

用随机数测了一下,答案应该是没错
回复 支持 反对

使用道具 举报

9

主题

158

帖子

470

积分

华一学生

积分
470
QQ
沙发
发表于 2018-10-28 22:19:11 | 只看该作者
  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. }
复制代码
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|服务支持:DZ动力|华师一附中OI组  

GMT+8, 2024-11-2 06:24 , Processed in 0.105888 second(s), 26 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表