(建立于2017/8/16)
1.前置遞歸和後置遞歸
前置是倒叙,後置是正序
2.遞歸十進制轉二進制
#include<stdio.h>
#include<string.h>
int to2(int n)
{
int i = n % 2;
if (n>0)
{
printf("%d\n", i);
to2(n / 2);
}
}
int main()
{
to2(11);
}
3.遞歸求字元串長度
#include<stdio.h>
#include<string.h>
int getstrlen(char s[], int n)
{
if (s[n]) //以第n個位置的元素是否為0作為遞歸結束你的标記
{
return getstrlen(s, n + 1);
}
else
{
return n;
}
}
int main()
{
char s[] = "renzhenmingshigehaoren";
printf("長度是:%d\n",getstrlen(s, 0));
}
4.遞歸求斐波那契數列中某一個index的值
#include<stdio.h>
#include<string.h>
//斐波那契數列,0,1開頭,後邊的規律是每個數字等于前兩個數字的和
int fib(int m) {
if (m == 0)
{
return 0;
}
else if (m == 1)
{
return 1;
}
else
{
return fib(m - 1) + fib(m-2);
}
}
int main()
{
printf("斐波那契數列中第%d個數是:%d\n",6,fib(6));
}