月之数(HDU2502)

来源:互联网 发布:医学图像算法工程师 编辑:程序博客网 时间:2024/05/17 05:11
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
3123
 

Sample Output
138
 
思路:
 
枚举找规律
当n==1 时 为1
当n==2 时 为3
当n==3 时 为8
当n==4 时 为20
当n==5 时 为48
则规律为 arr[i]=arr[i-1]*2+pow(2,i-2);
代码如下:
#include<stdio.h>#include<string.h>#include<math.h>using namespace std;typedef long long ll;const int N = 21;ll arr[N];void init(){arr[1]=1;for(int i=2;i<=20;i++)arr[i]=arr[i-1]*2+pow(2,i-2);}int main(){int T;scanf("%d",&T);init();while(T--){int n;scanf("%d",&n);printf("%lld\n",arr[n]);}return 0;}


阅读全文
'); })();
0 0
原创粉丝点击
热门IT博客
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 山地别墅设计 山地自行车租赁 电动助力山地自行车 山地自行车车架 怎样选购山地自行车 山地自行车招商 软尾山地自行车 学生山地自行车 山地自行车货架 山地自行车组装 速降山地自行车 山地自行车一体轮 山地自行车之旅 山地越野摩托车 山地自行车怎么选择 山地自行车男 高端山地自行车 小学生山地自行车 山地自行车比赛 好的山地自行车 捷安特山地自行车价格表 小轮山地自行车 租山地自行车 山地物探钻机 碳纤山地自行车 山地自行车那个牌子好 捷安特山地自行车专卖店 高速山地自行车 山地越野下载 山地自行车什么品牌好 山地自行车市场价 山地自行车赛 二手山地自行车 山地越野四轮摩托车 山地自行车配件大全 奔特山地自行车价格 山地自行车售价 山地自行车 头盔 30速山地自行车 一辆山地自行车多少钱 山地自行车脚踏板