1. 程式人生 > >C語言遞迴解決階乘問題

C語言遞迴解決階乘問題

遞迴函式的概念是:直接或者間接地呼叫自身的演算法

遞迴函式:用函式自身給出定義的函式

而且在學習的後期  學到了分治法可以感覺到分治法產生的子問題是原問題的較小模式,這就為使用遞迴技術提供了不小的方便

即在合適的情況,使用遞迴反覆分治,大問題變相同性質的小問題,再進行遞迴求解

今天第一次寫部落格來一個簡單的遞迴例子  階乘   大一時不會遞迴一般用類似for的迴圈體就行求解

正常遞迴和for迴圈等差別在於for迴圈佔記憶體比較大

時間複雜度來說的話  好像是一樣的

遞迴經常被詬病效率低

遞迴求階乘  程式碼如下

#include<stdio.h>


int fun(int n)
{
    if(n==0||n==1)
        return 1;
    else
        return n*fun(n-1);
}
void main(){
int a=0,sum;
printf("請輸入正整數N:");
scanf_s("%d",&a);
sum=fun(a);
printf("jieguo  :%d",sum);

}


不要被後面的輸入迷惑  我只是加一個輸入相當於getchar()。

21 day challenge    this is first day.