C--遞歸案例1

斐波拉存在如下數列1、1、2、4、7、13、24、44、81、149……,現要求該數列第n項的值(n從0開始算)。
#include “stdio.h”

int strlen_r(const char *s)
{
if( *s )
{
return 1+strlen_r(s+1);
}
else
{
return 0;
}
}
int fac(int n) //斐波拉
{
if( n >= 3 )
{
return fac(n-1)+fac(n-2);
}
else if ( n == 2 )
{
return 1;
}
else
{
return 1;
}

return -1; 

}
int main()
{
printf("%d.\n",strlen_r(“abc”));
printf("%d.\n",strlen_r(""));
printf("%d.\n", fac(9));
return 0;
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章