#include<stdio.h>
int main()
{int N;
int fac(int n);
while(1)
{scanf("%d",&N);
if(N==0) break;
else printf("%d",fac(N));
printf("\n");
}
return 0;
}
int fac(int n)
{ int static cow;
if(n==1||n==2||n==3) cow=1;
else if(n==4) cow=2;
else cow=fac(n-1)+fac(n-3);
return cow;
}
为什么递归是 cow=fac(n-1)+fac(n-3);