编程介的小学生 2017-02-04 07:52 采纳率: 20.5%
浏览 1468
已采纳

月之数

Problem Description
当寒月还在读大一的时候,他在一本武林秘籍中(据后来考证,估计是计算机基础,狂汗-ing),发现了神奇的二进制数。
如果一个正整数m表示成二进制,它的位数为n(不包含前导0),寒月称它为一个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<=n<=20)。

Output
对于每个n ,在一行内输出n对应的月之数。

Sample Input

3
1
2
3

Sample Output

1
3
8

  • 写回答

3条回答 默认 最新

  • Foreveryezi 2017-02-04 08:15
    关注

    其实这就是一找规律的题目。
    需要满足的条件有:
    1、首位必须是1,这个条件很好找,n二进制数有多少个,就首先要在月之数里面加上2^(n-1)(每个二进制数首位都为1)
    2、首位解决了,就是后面的位。后面的位0和1出现的概率一样。后面一共会出现2^(n-2)*(n-1)
    所以总共是:月之数 = 2^(n-1)+2^(n-2)*(n-1) = 2^(n-2)*(n+1)

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
  • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
  • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)