1 + 2 = 3?

原创 2018年04月15日 21:58:32

题目描述

小Y在研究数字的时候,发现了一个神奇的等式方程,他屈指算了一下有很多正整数x满足这个等式,比如1和2,现在问题来了,他想知道从小到大第N个满足这个等式的正整数,请你用程序帮他计算一下。(表示按位异或运算)

输入描述:

第一行是一个正整数,表示查询次数。

接着有T行,每行有一个正整数,表示小Y的查询。

输出描述:

对于每一个查询N,输出第N个满足题中等式的正整数,并换行。


比赛时发现了一部分规律,却没发现斐波那契数列。。。有点遗憾。。。

赛后看题解才意识到。。。

举个栗子

i=1    2    3     4        5           6

   1    10  100 1000  10000    100000

               101 1001  10001    100001

                      1010  10010    100010

                                10100    100100

                                10101    100101

                                              101000

                                              101001

                                              101010 

例如n=9

就等于1<<(6-2)+1<<(1-1)

#include<bits/stdc++.h>
using namespace std;
typedef long long int ll;

ll f[66];

void init()
{
    f[0]=0;
    f[1]=1;
    f[2]=1;
    for(int i=3;i<=66;i++)
    {
        f[i]=f[i-1]+f[i-2];
    }
}

int main()
{
    init();
    int t;
    scanf("%d",&t);
    while(t--)
    {
        ll n;
        ll m=0;
        scanf("%lld",&n);
        while(n)
        {
            for(int i=66;i>=1;i--)
            {
                if(n>=f[i])
                {
                    n-=f[i];
                    m+=(1LL<<(i-2));
                }
            }
        }
        printf("%lld\n",m);
    }
    return 0;
}

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/BWbear0412/article/details/79953740

Codecraft-17 and Codeforces Round #391 (Div. 1 + Div. 2, combined) C. Felicity is Coming!组合学+集合

题意:给出n组数,每组gi个数,每个数属于1~m,每个数可以变化但变化前相同的数变化后依然相同,变化前不同的速变化后依然不同,且可能不变,但经过变化后每组的每种数的个数不会变化,求变化的总方案数。 组...
  • ProLightsfxjh
  • ProLightsfxjh
  • 2017-01-14 01:28:50
  • 599

可怜的多校5555,只做了一道,然后补了两个很简单的题,哭晕

2016多校第三场简单题
  • qq_27141515
  • qq_27141515
  • 2016-07-26 19:37:38
  • 419

【NOIP2016提高组】蚯蚓

Description Input Output Sample InputSample Input1: 3 7 1 1 3 1 3 3 2Sample Output1: 3 4 4...
  • HownoneHe
  • HownoneHe
  • 2016-11-30 20:28:38
  • 530

crontab的使用与故障一例

还是接着上次的自动删除归档一文:      定时任务设置为每天0时0点删除指定日期之前的归档,但几日过去,归档日志依然坚挺的存在,log日志不见动静,很是奇怪,遂详细检查:      1、手动执行...
  • skywalk0913
  • skywalk0913
  • 2011-08-20 01:07:13
  • 758

nyoj 502 筹建工程

筹建工程 时间限制:1000 ms  |  内存限制:65535 KB 难度:3 描述省政府“畅通工程”的目标是使全省任何两个村庄间都可以实现公路交通(但不一定有直接的公路相...
  • ling_du
  • ling_du
  • 2014-10-18 22:57:40
  • 386

Codeforces 400 C. Inna and Huge Candy Matrix【 Codeforces Round #234 (Div. 2)】

思维,找规律。。。
  • qingshui23
  • qingshui23
  • 2015-10-31 17:54:57
  • 412

求1! + 2! + 3! + 4! + …… + 10!的和 叹号表示阶乘,如4! = 1 * 2 * 3 * 4

求1! + 2! + 3! + 4! + …… + 10!的和 叹号表示阶乘,如4! = 1 * 2 * 3 * 4function jie(a){ var s = 1; ...
  • qq_21109153
  • qq_21109153
  • 2016-04-09 23:48:25
  • 1315

4-2. 打印九九口诀表

下面是一个完整的下三角九九口诀表: 1*1=1 1*2=2 2*2=4 1*3=3 2*3=6 3*3=9 1*4=4 2*4=8 3*4=12 4*4=16...
  • u010399331
  • u010399331
  • 2014-06-23 23:27:02
  • 1426

cantor数表 and nyoj85有趣的数

有趣的数 时间限制:3000 ms  |  内存限制:65535 KB 难度:2 描述 把分数按下面的办法排成一个数表。 1/1 1/2 1/3 1/4..... 2/1 2/2 2/...
  • u012349696
  • u012349696
  • 2014-07-09 09:11:37
  • 864

js正则表达式之$1$2$3$4$5$6$7$8$9属性,返回子匹配的结果

功能:$1-$9存放着正则表达式中最近的9个正则表达式的匹配结果,这些结果按照子匹配的出现顺序依次排列。  基本语法RegExp.$n  注意:这些属性是静态的,除了replace中的第二...
  • ywb201314
  • ywb201314
  • 2015-11-21 21:18:41
  • 1785
收藏助手
不良信息举报
您举报文章:1 + 2 = 3?
举报原因:
原因补充:

(最多只允许输入30个字)