整数分解为2的幂
2018-02-15 21:53
127 查看
任何正整数都能分解成2的幂,给定整数N,求N的此类划分方法的数量!由于方案数量较大,输出Mod 1000000007的结果。
比如N = 7时,共有6种划分方法。
7=1+1+1+1+1+1+1
=1+1+1+1+1+2
=1+1+1+2+2
=1+2+2+2
=1+1+1+4
=1+2+4
Input
比如N = 7时,共有6种划分方法。
7=1+1+1+1+1+1+1
=1+1+1+1+1+2
=1+1+1+2+2
=1+2+2+2
=1+1+1+4
=1+2+4
Input
输入一个数N(1 <= N <= 10^6)Output
输出划分方法的数量Mod 1000000007Input示例
7Output示例
6
#include <iostream> using namespace std; const int MOD = 1e9 + 7; const int MAXN = 1e6 + 5; int cnt[MAXN]; int main() { int n; cin >> n; cnt[0] = 1; for (int i = 1; i <= n; i++) { if (i & 1) { cnt[i] = cnt[i - 1]; } else { cnt[i] = (cnt[i - 1] + cnt[i / 2]) % MOD; } } cout << cnt << endl; return 0; }
相关文章推荐
- POJ 1811 Prime Test (Pollard rho 大整数分解)
- c++之数组篇3:判断一个整数x能否被分解为n个连续的整数相加
- C++实现的大整数分解Pollard's rho算法程序
- 经典题:一个整数分解为连续正整数之和
- 百度在线笔试编程测试题(Python):整数分解成素数的积
- 整数分解为若干项之和
- 整数的素数和分解问题
- 素数判定、埃氏筛法与整数分解
- 一个正整数如何分解为几个连续的正整数之和的形式
- 整数分解(版本2)
- 整数因子分解问题 SDUT
- fjnu 1459 整数最优分解问题
- 整数唯一分解定理
- 【51NOD 1383】整数分解为2的幂
- 面试题精选(66):整数的素数和分解问题
- POJ 1365 小整数分解
- 递归 整数分解为若干项之和
- Aladdin and the Flying Carpet [整数分解]
- 对一正整数分解质因数
- HDU GT and numbers (整数的唯一分解定理)