题目名称 607. 产生01串
输入输出 infinit.in/out
难度等级 ★☆
时间限制 1000 ms (1 s)
内存限制 128 MiB
测试数据 10
题目来源 Gravatarcqw 于2011-11-07加入
开放分组 全部用户
提交状态
分类标签
分享题解
通过:14, 提交:66, 通过率:21.21%
GravatarHouJikan 100 0.031 s 0.32 MiB C++
Gravatarmagic 100 0.042 s 0.27 MiB C++
GravatarCzb。 100 0.049 s 0.26 MiB C++
Gravatarreamb 100 0.066 s 0.12 MiB Pascal
Gravatarミント 100 0.069 s 0.32 MiB C++
GravatarDes. 100 0.079 s 0.12 MiB Pascal
GravatarTBK 100 0.089 s 0.27 MiB C++
GravatarDes. 100 0.099 s 0.12 MiB Pascal
Gravatarkaaala 100 0.104 s 0.27 MiB C++
Gravatarkaaala 100 0.106 s 0.27 MiB C++
本题关联比赛
20111107
关于 产生01串 的近10条评论(全部评论)

607. 产生01串

★☆   输入文件:infinit.in   输出文件:infinit.out   简单对比
时间限制:1 s   内存限制:128 MiB

【问题描述】

我们按以下方式产生序列:
1、 开始时序列是: " 1 " ;
2、 每一次变化把序列中的 " 1 " 变成 " 10 " ," 0 " 变成 " 1 "。
经过无限次变化,我们得到序列" 1011010110110101101... "。
总共有 Q 个询问,每次询问为:在区间A和B之间有多少个1。

任务 写一个程序回答 Q个询问

输入 第一行为一个整数 Q,后面有Q行,每行两个数用空格隔开的整数 a , b 。

输出 共 Q行,每行一个回答

约定

  • 1 <= Q <= 5000
  • 1 <= a <= b < 2^63

样例

infinit.in

infinit.out

1
2 8

4