/***************************************
* 第一个人十岁,后一个人比前一 *
* 个人大两岁,第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);
}
}
网友评论