a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 編程 > C++ > 正文

C++教程:C++函數的遞歸調用

2020-05-23 14:27:39
字體:
來源:轉載
供稿:網友
在高中數學中,我們學習過數列。我們知道數列有兩種表示方法,一種稱為通項公式,即項an和項數n的關系;還有一種稱為遞推公式,即后一項an和前一項a(n-1)之間的關系。通項公式能夠一下子把an求解出來,而遞推公式則要根據首項的值多次推導才能把第n項的值慢慢推導出來。如果有一個較為復雜的數列的遞推公式,人工將其轉化為通項公式或者將其的每一項求出實在非常麻煩,那么我們能不能直接把這個遞推公式交給計算機,讓它來為我們求解呢?

我們說過,在任何一個函數體內不能出現其它函數的定義。但是,在任一個函數體內可以調用任何函數,包括該函數本身。直接或者間接地在函數體內調用函數本身的現象稱為函數的遞歸。正是函數的遞歸,能夠幫我們解決遞推公式求解的問題。

現有一個數列,已知an=2*a(n-1)+3,并且a1=1,求解a1到a8的各項值。我們把數列問題轉化為函數問題,認為an=f(n),a(n-1)=f(n-1)……于是f(n)=2*f(n-1)+3,f(n-1)=2*f(n-1-1)+3……直到f(1)=1。我們根據前面的描述寫出以下程序:(程序6.6)
#include "iostream.h"
int f(int n);//看作數列an
int main()
{
   for (int i=1;i<=8;i++) 
   {
      cout <<"f(" <<i <<")=" <<f(i) <<endl;//輸出a1到a8的值
   }
   return 0;
}
int f(int n)
{
   if (n==1)
   {
      return 1;//告知a1=1
   }
   else
   {
      return 2*f(n-1)+3;//告訴電腦f(n)=2*f(n-1)+3
   }
}
運行結果:
f(1)=1
f(2)=5
f(3)=13
f(4)=29
f(5)=61
f(6)=125
f(7)=253
f(8)=509
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 成人精品鲁一区一区二区 | 国产成人+综合亚洲+天堂 | 欧美视频精品 | 在线观看免费的网站www | av片免费| 妞干网免费 | 日本精品网站 | 国产99在线播放 | 99精品一区二区三区 | 欧美 日韩 中文 | xxxwww日本 | 国产精品一区不卡 | 日韩 国产 在线 | 久久99精品视频 | 七龙珠z普通话国语版在线观看 | 欧美综合激情 | 中文成人无字幕乱码精品 | 亚洲美女一区二区三区 | 欧美日韩一级二级三级 | 五月婷婷免费视频 | 超碰一区 | 久草免费在线 | 成人午夜在线视频 | 午夜精品久久久久久久男人的天堂 | 亚洲成人av在线播放 | 性xxxxxxxxx18欧美 | 欧美午夜精品一区二区三区 | 视频在线观看国产 | 欧美.com| 香蕉久久一区二区不卡无毒影院 | 国产精品成人一区二区三区夜夜夜 | 一区二区精品 | 欧美二区精品 | 午夜精品在线观看 | 国产精品自产拍在线观看桃花 | 在线亚洲精品 | 日韩一二三区 | 亚洲精品一区二区三区 | 久久影视网| 亚洲一区二区av | 国产色99精品9i |