hdu 2502 月之数

简介: hdu 2502 月之数

月之数


 

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

 

Source

《ACM程序设计》短学期考试_软件工程及其他专业

 

 

我的想法:

直接按原理来,求组合数,代码如下。

#include<stdio.h>
#include<iostream>
using namespace std;
long long int C(int n,int m)
{
    long long int i,j,s=1,x=1;
    for(i=n;i>n-m;i--)
        s*=i;
    for(j=m;j>0;j--)
        x*=j;
    return s/x;
}
int main()
{
    int T;
    scanf("%d",&T);
    while(T--)
    {
        long long int i,j=0,a;
        scanf("%lld",&a);
        for(i=2;i<=a;i++)
         j+=C(a-1,i-1)*i;
         printf("%lld\n",j+1);
    }
    return 0;
}

网上查了一下,发现有规律:

http://www.cnblogs.com/liudehao/p/4132937.html

目录
相关文章
|
6月前
|
Java 测试技术
HDU-1232-畅通工程(未完待续)
HDU-1232-畅通工程(未完待续)
27 0
|
6月前
|
Java 测试技术
HDU-1233-还是畅通工程
HDU-1233-还是畅通工程
36 0
|
测试技术
洛谷P8601[蓝桥杯][2013年第四届真题]剪格子
洛谷P8601[蓝桥杯][2013年第四届真题]剪格子
78 0
|
机器学习/深度学习
【蓝桥杯集训·每日一题】 AcWing 3996. 涂色
文章目录 一、题目 1、原题链接 2、题目描述 二、解题报告 1、思路分析 2、时间复杂度 3、代码详解 三、知识风暴 区间DP Unique函数
118 0
畅通工程 HDU - 1232
畅通工程 HDU - 1232
79 0
|
机器学习/深度学习 算法 搜索推荐
洛谷每日三题之第六天
洛谷每日三题之第六天
|
机器学习/深度学习 算法 IDE
洛谷每日三题之第四天
洛谷每日三题之第四天
|
机器学习/深度学习
洛谷每日三题之第五天
洛谷每日三题之第五天