问题及代码:
/*
作者:夏晓林
时间:2016.11
题目:递归求解之1*3*...*n
*/
#include <stdio.h>
long fact(int n);
int main()
{
int n;
long f;
scanf("%d",&n);
f=fact(n);
printf("%ld\n",f);
return 0;
}
long fact(int n)
{
long f;
if(n==1)
f=1;
else if(n%2==0)
{
n=n-1;
f=n*fact(n-2);
}
else
f=n*fact(n-2);
return f;
}
运行结果: