//遞歸算法:是在程序中不斷反覆“調用自身”來達到求解問題的方法。 要求帶求解問題能夠分解爲相同問題的一個子問題,多次遞歸調用,完成求解。
//遞歸調用時主調函數又是被調函數;執行遞歸的函數將反覆調用其自身,每調用一次就進入新的一層。
//直接遞歸:在函數中調用函數本身。
//間接遞歸:間接地調用一個函數,用得不多。
//遞歸求階乘問題
#include <stdio.h>
#include <stdlib.h>
long Factorial(int n); //函數聲明
int main()
{
int m;
printf("請輸入需要求階乘的整數:");
scanf_s("%d",&m);
printf(" %d 的階乘結果爲 %d .\n",m,Factorial(m));
system("pause");
return 0;
}
long Factorial(int n) //求階乘函數
{
if (n == 1)
{
return 1;
}
else
{
return Factorial(n-1) * n; //遞歸
}
}