美文网首页
1011 数的计算

1011 数的计算

作者: star_night | 来源:发表于2017-03-20 22:45 被阅读0次

题目描述 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<stdio.h>
int k;
int f(int n)//递归函数
{
    int t,i;
    if(n==1)//当n=1时说明该组数据达到最长并返回
        return 0;
    t=n/2;
    for(i=1;i<=t;i++){
        k++;
        f(i);
    }
    return k;
}
int main()
{
    int n,step;
    scanf("%d",&n);
    step=f(n);
    printf("%d\n",step+1);//+1表示包含n本身
    return 0;
}

相关文章

网友评论

      本文标题:1011 数的计算

      本文链接:https://www.haomeiwen.com/subject/hdtwnttx.html