int digui(int n){
if(n<0){
printf("负数没有阶乘\t");
return 0;
}
if(n==0)
return 1;
return digui(n-1)*n;
}
int ditui(int n){
if(n<0){
return 0;
}
int sum = 1;
int i;
for(i=1;i<=n;i++){
sum*=i;
}
return sum;
}
int pbnq(int n){
if(n<=0){
return 0;
}
if(n==1){
return 1;
}
return pbnq(n-1)+pbnq(n-2);
}
int main(){
printf("5!=%d\n",digui(5));
printf("0!=%d\n",digui(0));
printf("-2!=%d\n",digui(-2));
printf("%d\n",pbnq(3));
printf("%d\n",pbnq(0));
printf("%d\n",pbnq(-1));
printf("5!=%d\n",ditui(5));
printf("0!=%d\n",ditui(0));
printf("-2!=%d\n",ditui(-2));
}