亚洲国产日韩欧美在线a乱码,国产精品路线1路线2路线,亚洲视频一区,精品国产自,www狠狠,国产情侣激情在线视频免费看,亚洲成年网站在线观看

編寫用C語言實現(xiàn)的求n階階乘問題的遞歸算法

時間:2020-11-23 10:02:15 筆試經(jīng)驗 我要投稿

編寫用C語言實現(xiàn)的求n階階乘問題的遞歸算法

  代碼如下:

  long int fact(int n)

  {

  int x;

  long int y;

  if(n<0)

  {

  printf(“error!”);

  }

  if(n==0)

  return 1;

  x=n-1;

  y=fact(x);

  return (n*y);

  }

  拓展閱讀:

  特點

  遞歸算法是一種直接或者間接地調(diào)用自身算法的過程。在計算機編寫程序中,遞歸算法對解決一大類問題是十分有效的,它往往使算法的描述簡潔而且易于理解。

  遞歸算法解決問題的特點:

  (1) 遞歸就是在過程或函數(shù)里調(diào)用自身。

  (2) 在使用遞歸策略時,必須有一個明確的遞歸結(jié)束條件,稱為遞歸出口。

  (3) 遞歸算法解題通常顯得很簡潔,但遞歸算法解題的運行效率較低。所以一般不提倡用遞歸算法設(shè)計程序。

  (4) 在遞歸調(diào)用的過程當(dāng)中系統(tǒng)為每一層的返回點、局部量等開辟了棧來存儲。遞歸次數(shù)過多容易造成棧溢出等。所以一般不提倡用遞歸算法設(shè)計程序。

  要求

  遞歸算法所體現(xiàn)的“重復(fù)”一般有三個要求:

  一是每次調(diào)用在規(guī)模上都有所縮小(通常是減半);

  二是相鄰兩次重復(fù)之間有緊密的聯(lián)系,前一次要為后一次做準(zhǔn)備(通常前一次的`輸出就作為后一次的輸入);

  三是在問題的規(guī)模極小時必須用直接給出解答而不再進行遞歸調(diào)用,因而每次遞歸調(diào)用都是有條件的(以規(guī)模未達到直接解答的大小為條件),無條件遞歸調(diào)用將會成為死循環(huán)而不能正常結(jié)束。

【編寫用C語言實現(xiàn)的求n階階乘問題的遞歸算法】相關(guān)文章:

用C或者C++語言實現(xiàn)SOCKET通信12-14

用C語言實現(xiàn)文件讀寫操作12-25

用C++編寫程序?qū)崿F(xiàn)向右循環(huán)移位12-13

遞歸實現(xiàn)回文判斷12-27

經(jīng)典C語言面試算法題09-24

2016年C語言面試算法題(附答案)09-24

c語言指針面試常見問題09-28

編寫一個程序:輸入N,打印N*N矩陣12-20

圖像拼接算法及實現(xiàn)08-16

遞歸計算如下遞歸函數(shù)的值12-16