ASP.NET遞歸法求階乘解決思路
更新時間:2012年12月19日 17:29:16 作者:
遞歸就是在過程或函數里調用自身,在使用遞歸策略時,必須有一個明確的遞歸結束條件,稱為遞歸出口遞歸算法解題通常顯得很簡潔,但遞歸算法解題的運行效率較低。所以一般不提倡用遞歸算法設計程序
前臺:
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
!<asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="=" />
<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
后臺:
protected void Button1_Click(object sender, EventArgs e)
{
int data = Convert.ToInt32(this.TextBox1.Text.Trim());//data為大于等于0的整數
this.TextBox2.Text = jieCheng(data).ToString();
}
private static int jieCheng(int data)
{
if (data == 0) //在這里需要考慮0和1的階乘都為1,所以data==0的時候要返回1.
{
return 1;
}
else
{
return data * jieCheng(data - 1);
}
}
遞歸算法解決問題的特點:
(1) 遞歸就是在過程或函數里調用自身。
(2) 在使用遞歸策略時,必須有一個明確的遞歸結束條件,稱為遞歸出口。
(3) 遞歸算法解題通常顯得很簡潔,但遞歸算法解題的運行效率較低。所以一般不提倡用遞歸算法設計程序。
(4) 在遞歸調用的過程當中系統(tǒng)為每一層的返回點、局部量等開辟了棧來存儲。遞歸次數過多容易造成棧溢出等。所以一般不提倡用遞歸算法設計程序。
復制代碼 代碼如下:
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
!<asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="=" />
<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
后臺:
復制代碼 代碼如下:
protected void Button1_Click(object sender, EventArgs e)
{
int data = Convert.ToInt32(this.TextBox1.Text.Trim());//data為大于等于0的整數
this.TextBox2.Text = jieCheng(data).ToString();
}
private static int jieCheng(int data)
{
if (data == 0) //在這里需要考慮0和1的階乘都為1,所以data==0的時候要返回1.
{
return 1;
}
else
{
return data * jieCheng(data - 1);
}
}
遞歸算法解決問題的特點:
(1) 遞歸就是在過程或函數里調用自身。
(2) 在使用遞歸策略時,必須有一個明確的遞歸結束條件,稱為遞歸出口。
(3) 遞歸算法解題通常顯得很簡潔,但遞歸算法解題的運行效率較低。所以一般不提倡用遞歸算法設計程序。
(4) 在遞歸調用的過程當中系統(tǒng)為每一層的返回點、局部量等開辟了棧來存儲。遞歸次數過多容易造成棧溢出等。所以一般不提倡用遞歸算法設計程序。
您可能感興趣的文章:
- Jquery.TreeView結合ASP.Net和數據庫生成菜單導航條
- ASP.NET生成樹形顯示的GridView實現思路
- 常用的在數據庫中建立無限級樹形菜單的asp.net代碼
- asp.net 獲取指定文件夾下所有子目錄及文件(樹形)
- asp.net實現遞歸方法取出菜單并顯示在DropDownList中(分欄形式)
- 遞歸輸出ASP.NET頁面所有控件的類型和ID的代碼
- asp.net實現DropDownList,TreeView,ListBox的無限極分類目錄樹
- asp.net TreeView與XML三步生成列表樹
- Asp.net treeview實現無限級樹實現代碼
- asp.net TreeView遞歸循環(huán)子節(jié)點生成樹形菜單實例
相關文章
.NET的file文件上傳控件使用方法 修改web.config文件上傳大文件
這篇文章主要介紹了.NET修改web.config文件上傳大文件的方法,大家參考使用吧2014-01-01點擊提交按鈕后DropDownList的值變?yōu)槟J值實現分析
在點擊提交按鈕后,頁面上所有的綁定到數據庫的控件值都恢復到默認值,下面與大家分享下DropDownList的值變?yōu)槟J值2013-05-05.NET Core 遷移躺坑記續(xù)集之Win下莫名其妙的超時
這篇文章主要介紹了.NET Core 遷移躺坑記續(xù)集之Win下莫名其妙的超時,本文分步驟給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2019-04-04