题目描述
要求找出具有下列性质数的个数(包括输入的自然数n):
先输入一个自然数n( n <= 1000),然后对此自然数按照如下方法进行处理:
(1)不作任何处理
(2)在它的左边加上一个自然数,但该数不能超过原数的一半
(3)加上数后,继续按此处理,直到不能再加自然数为止
输入
多个测试案例,每个测试案例为一个自然数n。
输出
输出满足以上条件的所有数的个数
样例输入 Copy
6
样例输出 Copy
6
提示
对于6,满足条件的数有
6
16
26
126
36
136
# include <stdlib.h>
# include <stdio.h>
int comp(int n)
{
int ans = 1;
int i;
if(n > 1)
for(i = 1; i <= n/2; i++)
{
ans += comp(i);
}
return ans;
}
int main()
{
int n;
while(scanf("%d", &n) != EOF)
{
printf("%d\n", comp(n));
}
return 0;
}