hdoj 2502 月之数
来源:互联网 发布:java string 编码方式 编辑:程序博客网 时间:2024/04/29 10:43
月之数
Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 7372 Accepted Submission(s): 4355
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。
如果一个正整数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
数学方法水过。。。排列组合公式
#include<stdio.h>#include<math.h>int pipei(int x,int y)//求从y个数里面选出x个数的组合数 { __int64 sum=1;//用int不行 int i,j; for(i=x+1;i<=y;i++) sum*=i; for(i=1;i<=(y-x);i++) sum/=i; return sum;}int main(){ int t,n,i,j,sum; scanf("%d",&t); while(t--) { scanf("%d",&n); sum=1; for(i=2;i<=n;i++)//1的个数递增算 { sum+=i*pipei(i-1,n-1); } printf("%dn",sum); } return 0;}
0 0
- HDOJ 2502月之数
- hdoj 2502 月之数
- HDOJ 2502 月之数
- HDOJ 月之数 2502
- HDOJ 2502 月之数
- HDOJ 2502 月之数
- HDOJ(HDU) 2502 月之数(进制)
- HDOJ题目2502月之数(数学,递推)
- (位运算及进制问题)系列之 月之数 hdoj 2502
- 2502 月之数
- 2502 月之数
- HDU 2502 - 月之数
- hdu 2502月之数
- HDU 2502 月之数
- hdu 2502 月之数
- hdu-2502-月之数
- HDU 2502 月之数
- hdu 2502月之数
- arcengine 擦除 erase
- hdu 2178 猜数字
- 02 web标准
- 查看rman备份是level几的视图
- 河南省第六届程序设计大赛——异形卵
- hdoj 2502 月之数
- 第三周项目2:三角形类2
- 第一章 统计学习方法概论 —— 第1~3节 统计学习及监督学习的简介、损失函数及风险函数的公式化表达
- 10.OGNL
- kmeans算法分割图像
- 数据结构与算法(C语言)之开头篇
- Rsync服务器配置文档
- Linux下./configure,make,make install的作用
- Android 字体