C#递归题目实例代码
一列数的规则如下: 1、1、2、3、5、8、13、21、34...... 求第30位数是多少, 用递归算法实现。
代码:
代码如下:
public class MainClass
{
public static void Main()
{
Console.WriteLine(Foo(30));
}
public static int Foo(int i)
{
if (i <= 0)
return 0;
else if(i > 0 && i <= 2)
return 1;
else return Foo(i -1) + Foo(i - 2);
}
}
相关推荐
-
C#归并排序的实现方法(递归,非递归,自然归并)
//Main: 复制代码 代码如下: using System;using System.Collections.Generic;using System.Linq;using System.Text; namespace Merge{ class Program { static void Main(string[] args) { while (true) { Console.W
-
将文件夹下所有文件输出到日志文件中 c#递归算法学习示例
算法文章,总是带给我们无穷的思考和兴趣,一个问题,多种解决方法,看你如何去思考它,对于标题所引出的问题,我觉得,使用递归是比较有效的方法,当然递归还有很多使用场合,如树型分类列表的操作等等. 注意: 使用递归时,初学者要特别注意的就是"出口",必须为递归提供一个出口,否则你的内存就要溢出了,呵呵,memory overflow大家肯定都见过,都是从那时候过来的,呵呵. 代码中的递归: 复制代码 代码如下: static void GetFiles(List<string>
-
C# 递归查找树状目录实现方法
1.递归查找树状目录 复制代码 代码如下: public partial class Form1 : Form { string path = @"F:\学习文件";//递归查找树状目录 public Form1() {递归查找树状目录 InitializeComponent(); } private void Form1_Load(object sender, EventArgs e)
-
c#递归遍历文件夹示例
代码很简单,指定需要递归遍历的文件夹和遍历规则就要可以运行了 复制代码 代码如下: /// <summary>/// 递归获取文件夹目录下文件/// </summary>/// <param name="pathName">需要递归遍历的文件夹</param>/// <param name="fileRule">遍历规则『委托』</param>public static void LoopFol
-
C#采用递归实现阶乘的方法
本文实例讲述了C#采用递归实现阶乘的方法,供大家参考之用.通常来说,如果想实现一个阶乘,比如6 * 5 * 4 * 3 * 2 * 1,首先想到的可能是循环遍历. 如下示例所示: class Program { static void Main(string[] args) { Console.WriteLine("请输入一个数"); int number = Convert.ToInt32(Console.ReadLine()); double result = JieCheng(n
-
C#递归实现将一整数逆序后放入一数组中
本文实例讲述了C#递归实现将一整数逆序后放入一数组中的方法,分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: static void Main(string[] args) { int m = 1236578; int[] ms = new int[m.ToString().Length]; Rev(m.ToString().Length, m, ref ms); for (int i = 0; i < m.ToString().Length; i+
-
C#递归实现显示文件夹及所有文件并计算其大小的方法
算法中递归的一个典型应用就是遍历目标文件夹,并把该文件夹下的所有文件和文件夹打印或显示出来,还可以递归计算出目标文件夹的总大小.本文即以实例形式展示了C#递归实现显示目标文件夹的所有文件和文件夹,并计算目标文件夹的大小的方法. 具体实现代码如下: class Program { static void Main(string[] args) { Console.WriteLine("输入目标文件夹"); string path = Console.ReadLine(); FindFol
-
C# 实现阶乘 (递归,非递归) 实现代码
//Main: 复制代码 代码如下: using System;using System.Collections.Generic;using System.Linq;using System.Text; namespace Factorial{ class Program { static void Main(string[] args) { Function obj = new Function(); Cons
-
c#汉诺塔的递归算法与解析
从左到右 A B C 柱 大盘子在下, 小盘子在上, 借助B柱将所有盘子从A柱移动到C柱, 期间只有一个原则: 大盘子只能在小盘子的下面. 如果有3个盘子, 大中小号, 越小的越在上面, 从上面给盘子按顺序编号 1(小),2(中),3(大), 后面的原理解析引用这里的编号. 小时候玩过这个游戏, 基本上玩到第7个,第8个就很没有耐心玩了,并且操作的动作都几乎相同觉得无聊. 后来学习编程, 认识到递归, 用递归解决汉诺塔的算法也是我除了简单的排序算法后学习到的第一种算法. 至于递归,简单来说
-
C#递归实现回文判断算法
本文实例讲述了C#递归实现回文判断算法,分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: static void Main(string[] args) { DateTime dt1 = DateTime.Now; string text = "abcdedcba"; bool bYes = Recv(text); Console.Write("{0}:{1}回文!", text, bYes ? "是" :
-
C#正则表达式的递归匹配分析
在C#程序设计中经常会遇到这样的需求,要求匹配出成对的小括号里的内容,但是一般正则表达式中的 ?R 的语法似乎在C#中不被支持, 经过一番查找与测试,终于找到以下一段描述 /( 应该是 \( 不是用 /转义而是用 \来转义 匹配嵌套的构造 微软公司已经包含了一个有趣的创新来匹配稳定的构造(历史上,这是正则表达式所做不到的).这并不容易掌握 - 尽管这节较短,但是注意,它非常的晦涩难懂. 从一个例子开始可能更简单一些,所以我用这段代码作为开始: Regex r = new Regex(@"/((
-
c#斐波那契数列(Fibonacci)(递归,非递归)实现代码
//Main 复制代码 代码如下: using System;using System.Collections.Generic;using System.Linq;using System.Text; namespace Fibonacci{ class Program { static void Main(string[] args) { Console.WriteLine("Would you like to know which
随机推荐
- Oracle参数设置教程之set和reset的实用案例
- grep用法详解 grep与正则表达式
- JQuery Mobile 弹出式登录框的实现方法
- java设计模式之单例模式
- 详解VS2017 Linux 上.NET Core调试
- JS中setTimeout的巧妙用法前端函数节流
- ASP.Net 之Datalist删除功能详解附代码
- PHP实现动态柱状图改进版
- 正则基础之 小数点
- python如何实现远程控制电脑(结合微信)
- Python实现类继承实例
- python中OrderedDict的使用方法详解
- android4.0混淆XmlPullParser报错原因分析解决
- 采用header定义为文件然后readfile下载(隐藏下载地址)
- 如何防止IE缓存jsp文件
- Windows Powershell 环境变量
- 清空所有表中的数据的存储过程
- JavaScript中日常收集常见的10种错误(推荐)
- JavaScript解析json格式数据简单示例
- Js 时间间隔计算的函数(间隔天数)