C# 练习用函数递归计算 f(n)=f(n-1)+f(n-2) f=2 f=3

Posted CaiLin907

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C# 练习用函数递归计算 f(n)=f(n-1)+f(n-2) f=2 f=3相关的知识,希望对你有一定的参考价值。

题目:f(n)=f(n-1)+f(n-2)

f(0)=2;     f(1)=3 ,求f(40)

这个题需要用到函数递归来计算,

我们已知 f(0)和 f(1)

那么通过计算, f(2)就是 f(0)+ f(1)= 2 + 3 = 5;

创造函数F,传入值是 int n,返回值是int;

static int F(int n)
{
}

在函数中直接返回公式:

return F(n - 1) + F(n - 2);//函数递归调用

这个时候需要有一个终止递归的条件,把 f(0)和 f(1)写上去;

if (n == 0) return 2;   //终止递归的条件
if (n == 1) return 3;

在main函数中调用函数F,得到res值就是f(40)的值,作为对比算出f(2)的值:

static void Main(string[] args)
{
    int res = F(40);
    int res2 = F(2);
}

源代码如下:

using System;
//02
//f(n)=f(n-1)+f(n-2) f(0)=2 f(1)=3 ,用程序求得f(40)
namespace _05s
{
    class Program
    {
        static void Main(string[] args)
        {
            int res = F(40);
            int res2 = F(2);
            Console.WriteLine("f40:" + res);
            Console.WriteLine("f2:" + res2);
        }
        static int F(int n)
        {
            if (n == 0) return 2;   //终止递归的条件
            if (n == 1) return 3;
            return F(n - 1) + F(n - 2);//函数递归调用
        }
    }
}

打印结果如下:

三连~ 

以上是关于C# 练习用函数递归计算 f(n)=f(n-1)+f(n-2) f=2 f=3的主要内容,如果未能解决你的问题,请参考以下文章

C# 练习用函数递归计算 f(n)=f(n-1)+f(n-2) f=2 f=3

C# 练习用函数递归计算 f(n)=f(n-1)+f(n-2) f=2 f=3

算法动态规划

递归的感悟

如何用递归解决斐波那契数列

如何计算fibonacci函数的递归调用次数