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#递归算法学习示例
算法文章,总是带给我们无穷的思考和兴趣,一个问题,多种解决方法,看你如何去思考它,对于标题所引出的问题,我觉得,使用递归是比较有效的方法,当然递归还有很多使用场合,如树型分类列表的操作等等. 注意: 使用递归时,初学者要特别注意的就是"出口",必须为递归提供一个出口,否则你的内存就要溢出了,呵呵,memory overflow大家肯定都见过,都是从那时候过来的,呵呵. 代码中的递归: 复制代码 代码如下: static void GetFiles(List<string>
-
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# 递归查找树状目录实现方法
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#斐波那契数列(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
-
C#正则表达式的递归匹配分析
在C#程序设计中经常会遇到这样的需求,要求匹配出成对的小括号里的内容,但是一般正则表达式中的 ?R 的语法似乎在C#中不被支持, 经过一番查找与测试,终于找到以下一段描述 /( 应该是 \( 不是用 /转义而是用 \来转义 匹配嵌套的构造 微软公司已经包含了一个有趣的创新来匹配稳定的构造(历史上,这是正则表达式所做不到的).这并不容易掌握 - 尽管这节较短,但是注意,它非常的晦涩难懂. 从一个例子开始可能更简单一些,所以我用这段代码作为开始: Regex r = new Regex(@"/((
-
C#递归实现显示文件夹及所有文件并计算其大小的方法
算法中递归的一个典型应用就是遍历目标文件夹,并把该文件夹下的所有文件和文件夹打印或显示出来,还可以递归计算出目标文件夹的总大小.本文即以实例形式展示了C#递归实现显示目标文件夹的所有文件和文件夹,并计算目标文件夹的大小的方法. 具体实现代码如下: class Program { static void Main(string[] args) { Console.WriteLine("输入目标文件夹"); string path = Console.ReadLine(); FindFol
-
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#递归实现将一整数逆序后放入一数组中的方法,分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: 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#采用递归实现阶乘的方法,供大家参考之用.通常来说,如果想实现一个阶乘,比如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#汉诺塔的递归算法与解析
从左到右 A B C 柱 大盘子在下, 小盘子在上, 借助B柱将所有盘子从A柱移动到C柱, 期间只有一个原则: 大盘子只能在小盘子的下面. 如果有3个盘子, 大中小号, 越小的越在上面, 从上面给盘子按顺序编号 1(小),2(中),3(大), 后面的原理解析引用这里的编号. 小时候玩过这个游戏, 基本上玩到第7个,第8个就很没有耐心玩了,并且操作的动作都几乎相同觉得无聊. 后来学习编程, 认识到递归, 用递归解决汉诺塔的算法也是我除了简单的排序算法后学习到的第一种算法. 至于递归,简单来说
-
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
随机推荐
- 详解Python之数据序列化(json、pickle、shelve)
- ThinkPHP自定义Redis处理SESSION的实现方法
- asp.net 通过httpModule计算页面的执行时间
- .NET Core Windows环境安装配置教程
- html5+javascript实现简单上传的注意细节
- 统一接口:为FireFox添加IE的方法和属性的js代码
- php下HTTP Response中的Chunked编码实现方法
- mysql的group_concat函数使用示例
- JavaScript错误处理
- 在无组件的情况下,如何上传图片?
- Apache的压力测试以及web性能优化的常用知识总结
- jQuery操作select下拉框的text值和value值的方法
- 给网络体检:局域网链路的连通性测试
- 如何在Linux下配置socks5代理
- Android几行代码实现监听微信聊天示例
- 详解Spring Boot实战之Rest接口开发及数据库基本操作
- C语言中函数的声明、定义及使用的入门教程
- Python3.4实现远程控制电脑开关机
- 利用bat批处理程序通过DOS命令行删除所有的空文件夹的方法
- Django 配置多站点多域名的实现步骤