递归的例子们

阶乘

class Program
    {
        static int factorical(int n) {
            if (n == 0 || n == 1)
            {
                return 1;
            }
            else
            {
                return n*factorical(n - 1);
            }
        }
        static void Main(string[] args)
        {
            
            Console.WriteLine(factorical(5));
            Console.ReadKey();
        }
    }

斐波那契数列

   static int Fibonacci(int n) {
            if (n == 1||n==2)
            {
                return 1;
            }
            else
            {
                return Fibonacci(n - 1) + Fibonacci(n - 2);
            }
        }
        static void Main(string[] args)
        {
            
            Console.WriteLine(Fibonacci(5));
            Console.ReadKey();
        }

回文

     static bool Palindrome(string s) {
            if (s.Length == 1 || s.Length == 0)
            {
                return true;
            }
            else
            {
                if (s.Substring(0, 1) == s.Substring(s.Length - 1, 1))
                {
                    return Palindrome(s.Substring(1, s.Length - 2));
                    
                }else
                {
                    return false;
                }
               
            }

        }
        static void Main(string[] args)
        {
            
            Console.WriteLine(Palindrome("level"));
            Console.ReadKey();
        }

斐波那契提高版

        static int FibonacciImprove(int a,int b,int n)
        {
            if (n == 3)
            {
                return a+b;
            }
            else
            {
                return FibonacciImprove(b, a + b, n - 1);
            }
        }
        static void Main(string[] args)
        {

            Console.WriteLine(FibonacciImprove(1,1,5));
            Console.ReadKey();
        }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 第八章 递归(recursion) 8.1 导语 因为一些指导者倾向于先教递归作为第一个主要的控制结构,本章会以另...
    geoeee阅读 1,472评论 0 5
  • 原文链接:写递归函数的正确思维方法 原文作者:九天雁翎 递归是编程中一个相对难以理解但是却又很重要的概念. 对于从...
    Forever_bca1阅读 863评论 0 0
  • 算法是程序设计的灵魂。为了保持大脑不生锈,一般一两天就刷一刷算法题。这里简单总结下递归、及递归的常见问题。也当是小...
    纸简书生阅读 8,189评论 0 2
  • 递归(英语:Recursion),又译为递回,在数学与计算机科学中,是指在函数的定义中使用函数自身的方法。递归一词...
    歌白梨阅读 1,993评论 0 4
  • 留校这么多天,今天开始屠宰鸡。本来满心欢喜,会因其中的小小插曲而令人难过秒秒钟,窃喜许久。 实验从称重,屠宰,测定...
    凌西阅读 224评论 0 0