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#递归实现回文判断算法
本文实例讲述了C#递归实现回文判断算法,分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: static void Main(string[] args) { DateTime dt1 = DateTime.Now; string text = "abcdedcba"; bool bYes = Recv(text); Console.Write("{0}:{1}回文!", text, bYes ? "是" :
-
将文件夹下所有文件输出到日志文件中 c#递归算法学习示例
算法文章,总是带给我们无穷的思考和兴趣,一个问题,多种解决方法,看你如何去思考它,对于标题所引出的问题,我觉得,使用递归是比较有效的方法,当然递归还有很多使用场合,如树型分类列表的操作等等. 注意: 使用递归时,初学者要特别注意的就是"出口",必须为递归提供一个出口,否则你的内存就要溢出了,呵呵,memory overflow大家肯定都见过,都是从那时候过来的,呵呵. 代码中的递归: 复制代码 代码如下: static void GetFiles(List<string>
-
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#递归遍历文件夹示例
代码很简单,指定需要递归遍历的文件夹和遍历规则就要可以运行了 复制代码 代码如下: /// <summary>/// 递归获取文件夹目录下文件/// </summary>/// <param name="pathName">需要递归遍历的文件夹</param>/// <param name="fileRule">遍历规则『委托』</param>public static void LoopFol
-
c#汉诺塔的递归算法与解析
从左到右 A B C 柱 大盘子在下, 小盘子在上, 借助B柱将所有盘子从A柱移动到C柱, 期间只有一个原则: 大盘子只能在小盘子的下面. 如果有3个盘子, 大中小号, 越小的越在上面, 从上面给盘子按顺序编号 1(小),2(中),3(大), 后面的原理解析引用这里的编号. 小时候玩过这个游戏, 基本上玩到第7个,第8个就很没有耐心玩了,并且操作的动作都几乎相同觉得无聊. 后来学习编程, 认识到递归, 用递归解决汉诺塔的算法也是我除了简单的排序算法后学习到的第一种算法. 至于递归,简单来说
-
C# 递归查找树状目录实现方法
1.递归查找树状目录 复制代码 代码如下: public partial class Form1 : Form { string path = @"F:\学习文件";//递归查找树状目录 public Form1() {递归查找树状目录 InitializeComponent(); } private void Form1_Load(object sender, EventArgs e)
-
C#递归实现显示文件夹及所有文件并计算其大小的方法
算法中递归的一个典型应用就是遍历目标文件夹,并把该文件夹下的所有文件和文件夹打印或显示出来,还可以递归计算出目标文件夹的总大小.本文即以实例形式展示了C#递归实现显示目标文件夹的所有文件和文件夹,并计算目标文件夹的大小的方法. 具体实现代码如下: class Program { static void Main(string[] args) { Console.WriteLine("输入目标文件夹"); string path = Console.ReadLine(); FindFol
-
C#正则表达式的递归匹配分析
在C#程序设计中经常会遇到这样的需求,要求匹配出成对的小括号里的内容,但是一般正则表达式中的 ?R 的语法似乎在C#中不被支持, 经过一番查找与测试,终于找到以下一段描述 /( 应该是 \( 不是用 /转义而是用 \来转义 匹配嵌套的构造 微软公司已经包含了一个有趣的创新来匹配稳定的构造(历史上,这是正则表达式所做不到的).这并不容易掌握 - 尽管这节较短,但是注意,它非常的晦涩难懂. 从一个例子开始可能更简单一些,所以我用这段代码作为开始: Regex r = new Regex(@"/((
-
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#递归实现将一整数逆序后放入一数组中
本文实例讲述了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#斐波那契数列(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
随机推荐
- vue.js开发环境搭建教程
- SQL中Having与Where的区别
- jQuery ajax提交Form表单实例(附demo源码)
- jQuery实现列表的全选功能
- iOS开发中实现新闻图片的无限循环展示的方法
- Mybatis 插入和删除批处理操作
- 理解python正则表达式
- 浅谈bootstrap使用中的一些问题以及解决过程
- 深入理解Android中的建造者模式
- JavaScript中switch语句的用法详解
- Ajax 生成流文件下载(实现代码)
- jsp计数器-jsp文件
- $.extend 的一个小问题
- jquery实现简单的全选和反选功能
- 基于jQuery的图片不完全按比例自动缩小
- Js 刷新框架页的代码
- 详谈无线路由器与无线AP的区别
- [注册表]增加可执行文件的搜寻路径
- java中常见的中文乱码总结
- Vue 项目部署到服务器的问题解决方法
