C#函数3递归

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
class Program
{
// 要理解递归,先要理解递归. (这只是一句玩笑话 )
// 递归,顾名思义就是递来归去,如此反复,直到不符合某个条件. 而函数递归意思也就是函数调用函数自己. 下面用代码来示例:

static int Funtion(int n) // 用这个函数实现阶乘 , n表示阶乘的次数
{
if (n <= 1)
return 1;
else
return n * Funtion(n - 1);
}

// 再使用一个函数来表示斐波纳契数列 (斐波纳契数列的规律是, 从第三项开始,每一项都是前两项之和)

static int Fei(int n) // n 表示斐波纳契数列的项.
{
if (n < 3)
return 1;
else
return Fei(n - 1) + Fei(n - 2);
}

static void Main(string[] args)
{
// 调用上面的阶乘函数.
Console.WriteLine("请输入需要阶乘的次数:");
Console.WriteLine(Funtion(Convert.ToInt32 (Console.ReadLine())));

//调用斐波纳契数列函数.
Console.WriteLine("请输入你想要实现多少项");
int n = Convert.ToInt32(Console.ReadLine());
// 用 for 语句把每一项都打印出来.
for (int i = 1; i <= n; i++)
{
Console.Write("{0}\t", Fei(i));
if (i % 5 == 0)
Console.WriteLine();
}
}
}
}
/* 运行结果如下 :
请输入需要阶乘的次数:
10
3628800
------------------------
请输入你想要实现多少项
30
1 1 2 3 5
8 13 21 34 55
89 144 233 377 610
987 1597 2584 4181 6765
10946 17711 28657 46368 75025
121393 196418 317811 514229 832040
*/

时间: 2024-10-26 04:57:29

C#函数3递归的相关文章

紫书第4章 函数和递归

1  序 系统的整理下第四章的学习笔记.同上次一样,尽量在不依赖书本的情况下自己先把例题做出来.这次有许多道题代码量都比较大,在例题中我都用纯C语言编写,但由于习题的挑战性和复杂度,我最终还是决定在第五章开始前,就用C++来完成习题.不过所有的代码都是能在C++提交下AC的. 在习题中,我都习惯性的构造一个类来求解问题,从我个人角度讲,这会让我的思路清晰不少,希望自己的一些代码风格不会影响读者对解题思路的理解. 其实在第四章前,我就顾虑着是不是真的打算把题目全做了,这些题目代码量这么大,要耗费很

Python基础之内置函数和递归

本文和大家分享的主要是python中内置函数和递归相关内容,一起来看看吧,希望对大家学习python有所帮助. 一.内置函数 下面简单介绍几个: 1.abs() 求绝对值 2.all() 如果 iterable 的所有元素都为真(或者如果可迭代为空),则返回  True 3.any() 如果 iterable 的任何元素为真,则返回  True .如果iterable为空,则返回  False 4.callable() 如果  object 参数出现可调,则返回  True ,否则返回  Fal

【学习ios之路:C语言】函数及递归的简单应用

函数定义: 返回值类型 函数名(形参列表){函数体(函数的实现内容)}; 函数定义的四种形式: //函数定义第一种形式: 无参数, 无返回值 void byMilk() { //如果没有参数,小括号必不可少. printf("没钱\n"); } //函数名的命名规范:由多个英文单词组成,除了第一个单词的首字母小写,其余单词首字母大写. //函数定义第二种形式,有返回值,无参数 float salary() { printf("同志们辛苦了\n"); return 0

利用php函数mkdir递归创建层级目录

项目开发中免不了要在服务器上创建文件夹,比如上传图片时的目录,模板解析时的目录等.这不当前手下的项目就用到了这个,于是总结了几个循环创建层级目录的方法. php默认的mkdir一次只能创建一层目录,而要逐层创建各级目录的话,一般都是先从父创建,然后逐层往下创建,但是这样手工创建的话,有点太过于麻烦了. 我们写程序是做什么的?不久是为了能自动化实现我们需要的功能么,这里的方法就是为了能够通过程序帮我们自动创建完成层级目录. Ruesin.com 思路有两种: 一.从上往下(父级→子级) 1.先判断

python函数之递归

一.递归的定义 函数的递归就是在一个函数内调用这个函数本身,python默认递归的最大层数是997. 二.递归实现三级菜单 1 def threeLM(dic): 2 while True: 3 for k in dic:print(k) 4 key = input('input>>').strip() 5 if key == 'b' or key == 'q':return key 6 elif key in dic.keys() and dic[key]: 7 ret = threeLM(

函数7—递归

基础概念 递归:在函数内部调用自身 递归与迭代的相同:都是一种函数的不断循环,每循环一次,减少一次解决问题的规模 不同:1.递归利用了栈的先进后出的概念,即将第一次运行的结果放入栈底,最后一次递归的结果放入栈顶, 再根据需要依次从栈顶取结果进行运算 2.递归:我们并不知道递归的次数,只需要规定递归结束的条件 迭代:有一个确切的迭代次数,并且迭代完成自动停止 递归 二分法1.必须有一个明确的结束条件2.每次进入更深一层递归时,问题规模相比上次递归都应有所减少3.递归效率不高,递归层次过多会导致栈溢

Python基础(10)_内置函数、匿名函数、递归

一.内置函数 1.数学运算类 abs:求数值的绝对值 divmod:返回两个数值的商和余数,可用于计算页面数 >>> divmod(5,2) (2, 1) max:返回可迭代对象中的元素中的最大值或者所有参数的最大值 语法:max(iterable,key,default) 1 salaries={ 2 'egon':3000, 3 'alex':100000000, 4 'wupeiqi':10000, 5 'yuanhao':2000 6 } 7 8 print(max(salari

【Python之匿名函数及递归】

一.匿名函数及内置函数补充 1.语法 Python使用lambda关键字创造匿名函数.所谓匿名,意即不再使用def语句这样标准的形式定义一个函数. 语法: lambda [arg1[, arg2, ... argN]]: expression 例: 普通函数 def func(x,y): return x+y print(func) print(func(1,2)) 输出 <function func at 0x102b31f28> 3 等价的匿名函数 #匿名函数 f=lambda x,y:x

python基础-函数_递归_内置函数

一 数学定义的函数与python中的函数 二 为何使用函数 背景提要 三 函数和过程 四 函数参数 五 局部变量与全局变量 六 前向引用之'函数即变量' 七 嵌套函数 八 递归 九 匿名函数 十 函数式编程 十一 内置函数 十二 本节作业 一.数学定义的函数与python中的函数 初中数学函数定义:一般的,在一个变化过程中,如果有两个变量x和y,并且对于x的每一个确定的值,y都有唯一确定的值与其对应,那么我们就把x称为自变量,把y称为因变量,y是x的函数.自变量x的取值范围叫做这个函数的定义域

函数表达式-递归

递归 递归函数是在函数通过调用自身的情况下构成的 1 function factorial(num){ 2 if (num <=1){ 3 return 1; 4 } else { 5 return num * factorial(num-1); 6 } 7 } 这是一个经典的递归阶乘函数,但是下面的代码会让它出错 1 var anotherFactorial = factorial; 2 factorial = null; 3 console.log(anotherFactorial(4));