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
*/

posted @ 2017-09-03 00:10  wonyj2017  阅读(262)  评论(0编辑  收藏  举报