卖逼视频免费看片|狼人就干网中文字慕|成人av影院导航|人妻少妇精品无码专区二区妖婧|亚洲丝袜视频玖玖|一区二区免费中文|日本高清无码一区|国产91无码小说|国产黄片子视频91sese日韩|免费高清无码成人网站入口

手把手教你如何使用C語言函數(shù)遞歸

C語言是一種廣泛應(yīng)用于計算機編程的靜態(tài)數(shù)據(jù)類型檢查、支持多范型的通用程序設(shè)計語言。它可以支持過程化程序設(shè)計、數(shù)據(jù)抽象化、面向?qū)ο蟪绦蛟O(shè)計、泛型程序設(shè)計以及基于原則設(shè)計等多種程序設(shè)計風格。在系統(tǒng)開發(fā)、引

C語言是一種廣泛應(yīng)用于計算機編程的靜態(tài)數(shù)據(jù)類型檢查、支持多范型的通用程序設(shè)計語言。它可以支持過程化程序設(shè)計、數(shù)據(jù)抽象化、面向?qū)ο蟪绦蛟O(shè)計、泛型程序設(shè)計以及基于原則設(shè)計等多種程序設(shè)計風格。在系統(tǒng)開發(fā)、引擎開發(fā)等應(yīng)用領(lǐng)域中,C語言是常用的編程語言之一,深受廣大程序員的喜愛。

C語言數(shù)學(xué)庫中的常見函數(shù)

C語言數(shù)學(xué)庫提供了許多常用的數(shù)學(xué)函數(shù),包括計算絕對值、取整、冪運算、三角函數(shù)等。下面將手把手教你如何使用幾個常見的函數(shù)。

1. 鼠標雙擊或右擊打開桌面上的Dev-C 軟件,讓其運行起來。Dev-C 是一個非常適合初學(xué)者使用的C/C 集成開發(fā)環(huán)境(IDE),它在Windows窗口運行環(huán)境下工作。這款軟件遵守GPL許可協(xié)議分發(fā)源代碼,集成了MinGW中的GCC編譯器、GDB調(diào)試器和AStyle格式整理器等自由軟件,具有強大的功能和清晰的界面分類。

2. 點擊文件菜單,選擇新建源代碼。這時新建的代碼文本還沒有命名,是一個空文件。通過界面左上角的文件選項,選擇另存為,將文件保存在電腦的任意位置。為了方便下次查找,可以將文件保存在桌面上或其他易于找到的地方。

什么是遞歸?

遞歸是指某個函數(shù)直接或間接地調(diào)用自身,將原問題的求解過程劃分成許多相同性質(zhì)的子問題的求解。小問題的求解很容易得到,而這些子問題的解構(gòu)成了原問題的解。遞歸的總體思想是,將待求解問題的解看作輸入變量x的函數(shù)f(x),通過尋找函數(shù)g,使得f(x) g(f(x-1)),并已知f(0)的值,就可以通過f(0)和g求出f(x)的值。遞歸也可以應(yīng)用于多個輸入變量x、y、z等,只需要朝著出口的方向推進即可。

遞歸的特點

遞歸具有以下幾個特點:

1. 遞歸式:確定如何將原問題劃分成子問題。

2. 遞歸出口:遞歸終止的條件,即最小子問題的求解。可以允許存在多個出口。

3. 界函數(shù):問題規(guī)模變化的函數(shù),保證遞歸的規(guī)模向出口條件靠攏。

利用遞歸解決常見問題

下面通過兩個例題,介紹如何使用遞歸思想解決實際問題。

例1:菲波那契數(shù)列。輸入一個整數(shù)n,求菲波那契數(shù)列的第n項。

算法:設(shè)第n項值為f(n),則f(n) f(n-1) f(n-2)。已知f(1)1,f(2)1,從第3項開始可以使用公式求解。

程序:

```c

int f(int n){

if(n1 || n2)

return 1;

else

return f(n-1) f(n-2);

}

```

例2:放蘋果。輸入m個蘋果和n個盤子,問有多少種不同的放法。

算法:設(shè)f(m,n)為m個蘋果,n個盤子的放法數(shù)目。先對n作討論:

- 當n>m時,必定有n-m個盤子永遠空著,對擺放蘋果的方法數(shù)目不產(chǎn)生影響。即如果n>m,f(m,n) f(m,m)。

- 當n

1. 有至少一個盤子空著,相當于f(m,n) f(m,n-1);

2. 所有盤子都有蘋果,相當于可以從每個盤子中拿掉一個蘋果,不影響放法的數(shù)目,即f(m,n) f(m-n,n)。而總的放蘋果的放法數(shù)目等于這兩者之和,即f(m,n) f(m,n-1) f(m-n,n)。

程序:

```c

int f(int m, int n){

if(n1 || m0)

return 1;

if(n>m)

return f(m,m);

else

return f(m,n-1) f(m-n,n);

}

```

這些遞歸函數(shù)的出口條件說明如下:

- 當n1時,所有蘋果必須放在一個盤子里,返回1;

- 當沒有蘋果可放時,定義為1種放法;

- 遞歸的兩條路,第一條是n逐漸減少,最終到達出口條件n1;第二條是m逐漸減少,當n>m時,返回f(m,m)到達出口條件m0。

標簽: