程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> ASP.NET基礎 >> ASP.NET遞歸法求階乘解決思路

ASP.NET遞歸法求階乘解決思路

編輯:ASP.NET基礎
前台:
復制代碼 代碼如下:
<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) 在遞歸調用的過程當中系統為每一層的返回點、局部量等開辟了棧來存儲。遞歸次數過多容易造成棧溢出等。所以一般不提倡用遞歸算法設計程序。
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved