遞歸是比較高端的算法,原理簡單,但使用不易,先記下最基礎的原理,以後遇到複雜的問題可以參考。
代碼:
#include <stdio.h>
//遞歸實現階乘
long long int factorial(int n,long long int r)
{
long long int x=r;
if(n>1)
{
x*=factorial(n-1,n);
}else
{
x*=n;
}
return x;
}
int main()
{
long long int r=1;//result
int n;//number
printf("Input n:\n");
scanf("%d",&n);
r=factorial(n,r);
printf("%d!=%lld",n,r);
return 0;
}