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) 在递归调用的过程当中系统为每一层的返回点、局部量等开辟了栈来存储。递归次数过多容易造成栈溢出等。所以一般不提倡用递归算法设计程序。

时间: 2024-09-25 16:14:39

ASP.NET递归法求阶乘解决思路_实用技巧的相关文章

win2003服务器asp.net权限设置问题及解决方法_实用技巧

服务器asp.net权限设置问题及解决方法 本人服务器使用环境:WIN 2003 ASP.NET相对于ASP,设置权限方面有点不同,有一点儿设置错了都运行不到.在网上搜索到的都是很垃圾的答案,没有一个用得到的,下面是我自己设置并从中遇到的问题摸索后得到的经验,给大家分享. ASP.NET需要用到USERS组的权限,因为我也遇过很多次自己设置了权限之后发现网站运行不了,很郁闷.下面根据出现的问题,一点点解决,让你的ASP.NET运行起来.. 问题一: 未找到路径"C:\"的一部分. 说明

Asp.net+jquery+.ashx文件实现分页思路_实用技巧

今天看到一个.java哥们写过的在页面直接请求数据列表的程序代码.它是实现选中客户联系人后,无刷新的弹出div罗列其它联系人列表的功能.忽然想到既然可以请求联系人列表,而且无刷新.那么取复杂的数据列表呢,后来想到了数据分页.我现在用了自己写的一个分页控件.但是效率有时候感觉不是很高,它是以 用户控件+存储过程+分页处理类 来实现分页的.但是无可避免的就碰到了刷新的问题即使分页很快,但是只要这"刷"的一下总是感觉很不爽.而且还要页面编译一遍,还要在服务端处理ViewState.以及其它的

先装了FRAMEWORK,后装IIS导致asp.net页面无法访问的解决方法_实用技巧

ASPX页面访问需要.net的支持. 请先检查是否安装了.NET, 打开IIS,在默认网站上点右键,如果没有ASP.NET选项卡则为没有安装或没有将.NET注册到IIS中. 1.没有安装,下 载.net framework 并安装,下载时注意版本,并不一定高版本就完全兼容低版本, 2.安装了但是没有注册到IIS中,开始->运行->cmd-> C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -i

asp.net静态方法弹出对话框实现思路_实用技巧

还是不说废话,直接上代码.为菜鸟所准备--其实就是弹出JavaScript小窗口,总得来说就是定义的一个DIV 复制代码 代码如下: /// <summary> /// 弹出JavaScript小窗口,其实就是定义的一个DIV /// </summary> /// <param name="js">窗口信息</param> public static void Alert(string message) { message = "

Asp.net中阻止页面按钮多次提交的解决办法_实用技巧

问题背景: 手头上的KPI分类评级考核系统,页面的提交按钮是用LinkButton或者Button做的.当大量用户同时在线访问该站点时,应用程序服务器出现CPU占用100%的糟糕状况,页面会卡住不动,用户不明情况连续点击提交按钮重复提交,造成数据库中出现大量的重复数据. 其实,即便服务器没有崩掉,快速频繁点击提交按钮,也会出现重复提交的问题. 尝试过:1)在提交按钮的点击事件里设置提交按钮的Enabled属性 Enabled = false; ,这个属性设置在未拿到新页面前是无效的,问题依然存在

为ASP.NET MVC及WebApi添加路由优先级_实用技巧

一.为什么需要路由优先级 大家都知道我们在Asp.Net MVC项目或WebApi项目中注册路由是没有优先级的,当项目比较大.或有多个区域.或多个Web项目.或采用插件式框架开发时,我们的路由注册很可能 不是写在一个文件中的,而是分散在很多不同项目的文件中,这样一来,路由的优先级的问题就突显出来了. 比如: App_Start/RouteConfig.cs中 routes.MapRoute( name: "Default", url: "{controller}/{actio

mvc上传到美橙云虚拟机系列问题的解决方法_实用技巧

我用vs2015写了个小网站,.Net Framework4.5. mvc 5,发布到本机iis上正常,在美橙申请了一个云虚拟机,发布过程中遇到的一些问题记录如下: 1.服务器支持的版本比较低 上传后打开网站显示: HTTP 错误 404.0 - Not Found 您要找的资源已被删除.已更名或暂时不可用. 询问美橙的技术支持,说只能支持到.net framework4.0.mvc4. 没办法只好试着降低版本.在vs2015中把解决方案中所有的项目目标框架都改为.net framework4.

GridView中日期不显示时分秒的完美解决方法_实用技巧

两种处理方式: 1.模版列:假设数据表的字段completeTime的类型为时间格式 <asp:TemplateField HeaderText="时间"> <ItemTemplate> <%#Eval("completeTime", "{0:yyyy-MM-dd}")%> </ItemTemplate> </asp:TemplateField> 2.绑定列: <asp:Bound

Asp.Net 无刷新文件上传并显示进度条的实现方法及思路_实用技巧

相信通过Asp.Net的服务器控件上传文件在简单不过了,通过AjaxToolkit控件实现上传进度也不是什么难事,为什么还要自己辛辛苦苦来 实现呢?我并不否认"拿来主义",只是我个人更喜欢凡是求个所以然.本篇将阐述通过Html,IHttpHandler和 IHttpAsyncHandler实现文件上传和上传进度的原理,希望对你有多帮助. 效果图: 本文涉及到的知识点:1.前台用到Html,Ajax,JQuery,JQuery UI 2.后台用到一般处理程序(IHttpHandler)和