zoukankan      html  css  js  c++  java
  • fibnacci数列的两种实现(递归实现和循环实现)

    //一切尽在规律中,认真观察,你会明白更多...

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

    namespace ConsoleApplication5
    {
        class Program
        {
            static void Main(string[] args)
            {

                int i = 0;
                SimulationFib();

                Console.ReadKey();
            }
            public static void SimulationFib()
            {

                int n = 31;
                Console.WriteLine("Fib数列的递归实现........");
                #region Fib数列的递归实现
                for (int i = 1; i <= 32; i++)
                {
                    Console.WriteLine(string.Format("Fib序列的第{0}项的值为:{1}", i, Fib(i)));

                }
                #endregion
                Console.WriteLine("------------------------------");

                Console.WriteLine("Fib数列的常规实现.............");

                for (int i=1; i<=32; i++)
                {
                    Console.WriteLine(string.Format("Fib序列的第{0}项的值为:{1}", i, fib(i)));
                }
            }
            /// <summary>
            /// fib数列的循环实现
            /// </summary>
            /// <param name="n"></param>
            /// <returns></returns>
            public static int fib(int n)
            {
                if (n == 1 || n == 2)
                {
                    return 1;
                }
                // 1 1 2 3
                int a = 1;
                int b = 1;
                int t = 0;
                for(int i=1;i<=n-2;i++)
                {

                    t = a;
                    a = b;
                    b = t + a;
                   
                   
                }

                return b;
            }
            /// <summary>
            /// fib序列的递归实现
            /// </summary>
            /// <param name="n"></param>
            /// <returns></returns>
            public static int Fib(int n)
            {
                if (n == 1 || n == 2)
                {
                    return 1;

                }

                return Fib(n - 1) + Fib(n - 2);

            }
        }
    }

  • 相关阅读:
    爬虫相关
    进程、线程、协程
    经典排序算法详细介绍
    Pyhton学习-Python与中间件之Memcache(4)
    Python学习-Python操作数据库之MongoDB(2)
    Python学习-Python操作数据库之MySQL(1)
    人工智能安全(一)——初识人工智能
    Windows应急响应和系统加固(12)——SQL Server/MySQL/Oracle日志提取和安全分析
    Windows应急响应和系统加固(11)——Weblogic各类漏洞的日志分析和调查取证
    Windows应急响应和系统加固(10)——Nginx日志分析以及JBoss日志分析
  • 原文地址:https://www.cnblogs.com/kexb/p/5087150.html
Copyright © 2011-2022 走看看