2019-08-27(递归函数)

2019-08-27  本文已影响0人  1墨家巨子

/***************************************
 * 第一个人十岁,后一个人比前一  *
 * 个人大两岁,第n个人几岁.          *
 ***************************************/
int get_age(int n){
    if(n<=1){
        return 10;
    }
    else{
        n=n-1;
        int age=get_age(n)+2;
        return age;
    }
}
 /***********************************
  *斐波那契数列1 1 2 3 5 8 13....*
  ************************************/
int get_num(int n){
    int num=0;
    if(n<=2)
    {
        return 1;
    }
    else
    {
        num=get_num(n-1)+get_num(n-2);
        return num;
    }
}
/*************************************
 *求数列n+(n-1)+(n-2)+...+0的和*
 *************************************/
//方式一
int  get_sum1(int n){
    int sum=0;
    int i=0;
    if(i>=n){
        return 0;
    }
    else{

        int temp=n-i;
        i++;
        sum=temp+ get_sum1(n-i);
        return sum;
    }
}
//方式二
int get_sum2(int n){
    int sum=0;
    if(0==n){
        return 0;
    }
    else{
        sum=n+get_sum2(n-1);
        return sum;
    }
}

/**************************
 *递归实现strlen()函数*
 **************************/
int my_strlen(char *arr){
    if(NULL==arr){
        return -1;
    }
   if(*arr=='\0'){
       return 0;
   }
   else{
     return 1+my_strlen(++arr);
   }
}
上一篇 下一篇

猜你喜欢

热点阅读