P2609 [ZJOI2012]数列

    • 82通过
    • 265提交
  • 题目提供者 yyy2015c01 管理员
  • 评测方式 云端评测
  • 标签 数论,数学 递归 高精 各省省选 2012 浙江
  • 难度 省选/NOI-
  • 时空限制 1000ms / 128MB

题解

  • 提示:收藏到任务计划后,可在首页查看。
  • 最新讨论 显示

    推荐的相关题目 显示

    题目描述

    小白和小蓝在一起上数学课,下课后老师留了一道作业,求下面这个数列的通项公式:

    A(0)=0
    A(1)=1
    A(2i)=A(i) (对于任意 i>0)
    A(2i+1)=A(i)+A(i+1) (对于任意 i>0)

    小白作为一个数学爱好者,很快就计算出了这个数列的通项公式。于是,小白告诉小蓝自己已经做出来了,但为了防止小蓝抄作业,小白并不想把公式公布出来。于是小白为了向小蓝证明自己的确做出来了此题以达到其炫耀的目的,想出了一个绝妙的方法:即让小蓝说一个正整数N,小白则说出 的值,如果当N很大时小白仍能很快的说出正确答案,这就说明小白的确得到了公式。但这个方法有一个很大的漏洞:小蓝自己不会做,没法验证小白的答案是否正确。作为小蓝的好友,你能帮帮小蓝吗?

    输入输出格式

    输入格式:

    输入文件第一行有且只有一个正整数T,表示测试数据的组数。

    第2~T+1行,每行一个非负整数N。

    输出格式:

    输出文件共包含T行。

    第i行应包含一个不含多余前缀0的数,它的值应等于 (n为输入数据中第i+1行被读入的整数)

    输入输出样例

    输入样例#1: 复制
    3
    1
    3
    10
    
    输出样例#1: 复制
    1
    2
    3
    

    说明

    对于20%的数据,N<=10^8

    对于50%的数据,N<=10^12

    对于100%的数据,T<=20,N<=10^100

    提示
    标程仅供做题后或实在无思路时参考。
    请自觉、自律地使用该功能并请对自己的学习负责。
    如果发现恶意抄袭标程,将按照I类违反进行处理。