求大佬解答一下,这个怎么做,c,c++,Java都行

输入一个整数n(0 <= n <= 1000),然后对n进行2个操作:

a. 不做操作。

b. 在n的右边加一个正整数 k,加上的 k 不能超过n最右边的数的一半。

之后得到的新数 new_n, 继续 a b 两步操作,直到得到的新数不能执行操作b为止。

输入
一个数n(0 <= n <= 1000)。

输出
输出满足条件的数的个数。

输入样例 1

1

输出样例 1

1

输入样例 2

3

输出样例 2

2

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 以帮助更多的人 ^-^