A. 变化数
Time Limit: 1000 ms Case Time Limit: 1000 ms Memory Limit: 32 MB
Total Submission: 6 Submission Accepted: 4
Total Submission: 6 Submission Accepted: 4
Description
我们要求找出具有下列性质数的个数(包含输入的自然数n):先输入一个自然数n(n≤1000), 然后对此自然数按照如下方法进行处理:
1.不作任何处理;2.在它的左边加上一个自然数,但该自然数不能超过原数的一半;
3.加上数后,继续按此规则进行处理,直到不能再加自然数为止。
1.不作任何处理;2.在它的左边加上一个自然数,但该自然数不能超过原数的一半;
3.加上数后,继续按此规则进行处理,直到不能再加自然数为止。
Input
第一行为一个整数n
Output
一行,满足性质的数的个数
Sample Input
Original | Transformed |
6
Sample Output
Original | Transformed |
6
Hint
输入: 6时满足条件的数为 6 16 26 126 36 136
这道题目呢,,,用了两种方法,都比较简单,一种是dp,一种是dfs,,dp的测试过了,,dfs的没测,但是据superxd说应该也可以过,他就是用dfs做的。
dp呢,就是dp【i】【j】表示当j前面的数是i的时候的个数,然后把dp【i】【j】的i从0加到j/2就是总的当j的时候的个数。dfs则更好理解了。直接上代码。