wikioi1011 数的计算 (2001年NOIP全国联赛普及组)
2013-10-14 17:17
381 查看
题目描述 Description
我们要求找出具有下列性质数的个数(包含输入的自然数n):先输入一个自然数n(n<=1000),然后对此自然数按照如下方法进行处理:
1. 不作任何处理;
2. 在它的左边加上一个自然数,但该自然数不能超过原数的一半;
3. 加上数后,继续按此规则进行处理,直到不能再加自然数为止.
输入描述 Input Description
一个数n
输出描述 Output Description
满足条件的数的个数
样例输入 Sample Input
6
样例输出 Sample Output
6
数据范围及提示 Data Size & Hint
6个数分别是:6
16
26
126
36
136
#include <iostream> using namespace std; int main() { int i,n,a,sum[1001]; sum[0] = 0,sum [1] = 1; cin>>n; for(i = 2 ; i <= n ; i++) { a = sum[i/2] + 1; sum [i] = sum[i-1] + a; } cout<<sum - sum[n-1]<<endl; return 0; }
分析:
递推
sum[6]表示不超过6的数开始,所有可能组合的和。若ans[6]表示所求值,则:sum[6] = ans[6]+sum[5],以此类推。
相关文章推荐
- codeVS 1011 数的计算(2001年NOIP全国联赛普及组)
- CODE[VS] 天梯 1011 数的计算 2001年NOIP全国联赛普及组
- 【动态规划】【记忆化搜索】CODEVS 1011 数的计算 2001年NOIP全国联赛普及组
- wikioi1012 最大公约数和最小公倍数问题(2001年NOIP全国联赛普及组)
- codevs 1011 (2001年NOIP全国联赛普及组)
- 数的计算 2001年NOIP全国联赛普及组
- wikioi 1014 装箱问题 (2001年NOIP全国联赛普及组)
- 【动态规划】【零一背包】CODEVS 1014 装箱问题 2001年NOIP全国联赛普及组
- codevs 1014 装箱问题 2001年NOIP全国联赛普及组
- wikioi 1017 乘积最大 (2000年NOIP全国联赛普及组NOIP全国联赛提高组)
- codevs 1013 求先序排列 2001年NOIP全国联赛普及组 x
- 1012 最大公约数和最小公倍数问题 2001年NOIP全国联赛普及组
- wikioi1075 明明的随机数(2006年NOIP全国联赛普及组)
- codeVS 1014 装箱问题 2001年NOIP全国联赛普及组
- wikioi 1039 数的划分 (2001年NOIP全国联赛提高组)
- wikioi 1010 过河卒 (2002年NOIP全国联赛普及组)
- 最大公约数和最小公倍数问题 2001年NOIP全国联赛普及组
- 【数论】【最大公约数】【枚举约数】CODEVS 1012 最大公约数和最小公倍数问题 2001年NOIP全国联赛普及组
- 1009 产生数 2002年NOIP全国联赛普及组
- 【日常学习】【卡特兰数】【栈】2003年NOIP全国联赛普及组第三题 题解