问题描述
要求找出具有下列性质的数的个数(包含输入的自然数n):
先输入一个自然数n(n<=500),然后对此自然数按照如下方法进行处理:
- 不作任何处理
- 在它的左边加上一个自然数,但该自然数不能超过原数字的一半
- 加上数后,继续按此规则进行处理,直到不能再加自然数为止
如输入6,则有
6
16
26
126
36
136
输出6
问题分析
我们很容易得求半数集数量的递推式:
f ( n ) = 1 + ∑ i = 1 n / 2 f ( i ) f(n) = 1 + \sum_{i=1}^{n/2}f(i) f(n)=1+i=1∑n/2