HDU-2502 月之数(简单推导)
来源:互联网 发布:sql语句建立table 主键 编辑:程序博客网 时间:2024/05/16 21:56
1.n位数是n位的二进制数,所以一共有 2^(n-1) 个二进制数,每个的的第一位必须是1所以,已经有了 2^(n-1) 个1;
2.再考虑每个二进制数的后n-1位数,因为是可以前导为0,所以1和0的个数最终一定是相同的,所以 2^(n-1) *(n-1)为所有的1和0的个数,除以2得到结果。
所以最终结果是 2^(n-1) + 2^(n-1) *(n-1)/2
打表或者直接输出
#include<cstdio>int a[25];void Init(){ int m = 1;//2^n for(int i = 1;i <= 20;i++) { a[i] = m + m/2*(i-1); m *= 2; }}int main(){ Init(); int t,n; scanf("%d",&t); while(t--) { scanf("%d",&n); printf("%d\n",a[n]); } return 0;}
0 0
- HDU-2502 月之数(简单推导)
- hdu 2502 月之数(水)
- HDU 2502 月之数(水~)
- hdu 2502 月之数(数学)
- HDU 2502 - 月之数
- hdu 2502月之数
- HDU 2502 月之数
- hdu 2502 月之数
- hdu-2502-月之数
- HDU 2502 月之数
- hdu 2502月之数
- hdu 2502 月之数
- hdu 2502 月之数
- HDU-2502-月之数
- HDU--2502 月之数
- HDU 2502 月之数
- hdu 2502 月之数
- HDU 2502 月之数
- BFS迷宫问题
- Java Journey: Regex
- 你可能不知道谷歌浏览器开发工具的其他用处
- HTML基础总结
- 逆序对
- HDU-2502 月之数(简单推导)
- 贪心算法
- 使用SVN构建自己的本地代码库
- OJ2004
- Java之Vector学习
- JAVA设计模式之单例模式
- OC基础
- C#多线程编程
- 6.百度地图例子讲解