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) 在递归调用的过程当中系统为每一层的返回点、局部量等开辟了栈来存储。递归次数过多容易造成栈溢出等。所以一般不提倡用递归算法设计程序。
相关推荐
-
递归输出ASP.NET页面所有控件的类型和ID的代码
写一个方法: 复制代码 代码如下: private void DisplayAllControl(Control control, int step) { foreach (Control ctl in control.Controls) { string s = new string('-', step * 4) + ctl.GetType().Name + "〈" + ctl.ID + "〉"; Response.Write(s + "<br/&
-
Asp.net treeview实现无限级树实现代码
先看看效果图: 先看看数据库表的设计,数据表主要包括ID,Name,ParentID这三项,其中ID是主键,ParentID对应节点的父节点: 方法一:用递归遍历数据,并将节点逐个添加到treeview中去. 1.先进行数据库连接和数据的读取,并将根节点先添加进treeview中,并利用递归getTreeView()实现数据的遍历和添加: 复制代码 代码如下: protected void Page_Load(object sender, EventArgs e) { if (!Page.IsP
-
asp.net TreeView与XML三步生成列表树
刚我在做Tree view 绑定时自己摸索了一下,网上有人说TreeView绑定数据源,用什么递归绑定啥的,我不想看了,就自己试着写了一个我是这样做的,如果有什么问题请大神指导,我是菜鸟额..1:页面TreeView 叫tvFunction2:新建 adminFunction.xml 复制代码 代码如下: <?xml version="1.0" encoding="utf-8" ?><functions> <function name
-
asp.net TreeView递归循环子节点生成树形菜单实例
本文实例讲述了asp.net TreeView递归循环子节点生成树形菜单的方法.分享给大家供大家参考,具体如下: 这里主要用到递归循环获取子结点 /// <summary> /// 生成根节点 /// </summary> /// <param name="treeview"></param> protected void BindTreeView(long ID, TreeView treeview) { DataTable dt =
-
ASP.NET生成树形显示的GridView实现思路
目的:生成树形结构的表格数据(EasyUI也有TreeGrid,此处只是提供一个思路),可以扩展单击展开/收缩节点 图例: 类代码: 复制代码 代码如下: using System; using System.Data; /// <summary> ///GridViewHelper 的摘要说明 /// </summary> public class GridViewHelper { private string gridline; //连接线 private DataTable
-
Jquery.TreeView结合ASP.Net和数据库生成菜单导航条
下面的例子将结合项目实际运用来使用Jquery.TreeView,当然在使用控件树需要现在相应的js文件 下面就把我生成的TreeView展现给大家看看希望对大家有所帮助!在使用之前需要下载控件树的js文件和Css样式 介绍一下表结构 M_ID M_Name M_ParentID M_URL M_Sort 然后新建一个网站,在新建的网站下添加CSS文件夹和js文件夹分别用于存放Css样式和JS,同时再添加一个image文件夹用于存放TreeView的图片 接着我们就开始实现我们的功能了! 前台代
-
asp.net实现递归方法取出菜单并显示在DropDownList中(分栏形式)
本文实例讲述了asp.net实现递归方法取出菜单并显示在DropDownList中的方法.分享给大家供大家参考,具体如下: 树形栏目展示以DropDownList的形式显示出来. protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { DataTable table = bllSite.GetChannelNames(CurrentUser.ParkID); BindChannelType(table,
-
asp.net实现DropDownList,TreeView,ListBox的无限极分类目录树
本文实例讲述了asp.net实现DropDownList,TreeView,ListBox的无限极分类目录树.分享给大家供大家参考,具体如下: #region DropDownList无限递归显示层次关系 /// <summary> /// 创建无限分级下拉列表框 /// </summary> /// <param name="ddlst">下拉控件</param> /// <param name="dt">
-
常用的在数据库中建立无限级树形菜单的asp.net代码
复制代码 代码如下: private DataTable GetTable(int topid) { DataTable dt = null; try { string constr = "server=.;database=tqnpc;uid=sa;pwd=sa"; string selstr = "select * from RW_工作关系 where main_id=" + topid + ""; SqlConnection con = n
-
asp.net 获取指定文件夹下所有子目录及文件(树形)
#region 获取指定文件夹下所有子目录及文件(树形) /**************************************** * 函数名称:GetFoldAll(string Path) * 功能说明:获取指定文件夹下所有子目录及文件(树形) * 参 数:Path:详细路径 * 调用示列: * string strDirlist = Server.M
随机推荐
- 健壮的AJAX源码学习应用示例
- Lua读取和写入文件处理例子
- Do All in Cmd Shell一切在命令行下完成第1/6页
- 解决ionic和angular上拉加载的问题
- 不错的JavaScript面向对象的简单入门介绍第1/2页
- 结合XP详解Vista系统配置排查故障图文教程
- Linux小技巧分享之如何重新启动tomcat
- ASP.NET实现根据IP获取省市地址的方法
- js 限制input只能输入数字、字母和汉字等等
- JS图片延迟加载插件LazyImgv1.0用法分析【附demo源码下载】
- JS中==与===操作符的比较
- Android-App增量更新的使用姿势
- android IPC之binder通信机制
- PHP网络操作函数汇总
- javascript HTML操作代码
- SQLServer 跨库查询实现方法
- jquery应该如何来设置改变按钮input的onclick事件
- 网页中嵌入Flash的方法讨论
- java中字符串参数化符号${}的解析
- 易达网络为您提供的100MB免费空间服务