Advertisement

杭电2502关于月之数的递推问题

阅读量:

Description

在寒月大一阶段,他偶然在一本武林秘籍中(后来被证实可能是计算机基础教材,令他哭笑不得),发现了二进制数的奇妙之处。
若将某个正整数m转换为二进制形式,其位数为n(不计入前导零),则寒月将其定义为一个n位二进制数。对于所有n位二进制数而言,其中1的总数被称作n对应的月之数。
例如,在3位二进制数中,共有4个数字,分别为4(100)、5(101)、6(110)、7(111)。这些数字中包含的1的数量总和为1+2+2+3=8,因此3对应的月之数即为8。

Input

输入一个整数T,表示后续输入数据的组数。随后有T行,每行给出一个正整数n(范围是1到20)。

Output

针对每个输入的n值,在单独的一行中输出其对应的月之数。

Sample Input

复制代码
     
      3
    1
    2
    3

示例输出

复制代码
     
      1
    3
    8

以下为实现该算法的AC代码示例:

复制代码
 #include <iostream>

    
 #include <cstdio>
    
 #include <cmath>
    
 using namespace std;
    
  
    
 const int maxn=25;
    
 int a

全部评论 (0)

还没有任何评论哟~