zoukankan      html  css  js  c++  java
  • 递归求斐波那契数列

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    
    namespace ConsoleApplication1
    {
        class Program
        {
    
            static void Main(string[] args)
            {
                Console.Write("输入想求的斐波那契数列项数:");
                int n = Convert.ToInt32(Console.ReadLine());
                //递归实现
                Console.WriteLine("斐波那契数列数列算出的第{0}项为:{1}", n, NotNum(n));
                Console.ReadKey();
            }
            /// <summary>
            /// 非递归算法
            /// </summary>
            /// <param name="n"></param>
            /// <returns></returns>
           static int NotNum(int n)
            {
                int[] temp = { 1, 1 };
    
    
                if (n == 1 || n == 2)
                {
                    return 1;
                }
                else
                {
                    for (int i = 2; i < n; i++)
                    {
                        int tp = temp[0] + temp[1];
                        temp[1] = temp[0];
                        temp[0] = tp;
                    }
                    return temp[0];
                }
            }
    
    
            /// <summary>
            /// 输入想求的斐波那契数列项数,这是一种递归的算法
            /// </summary>
            /// <param name="n"></param>
            /// <returns></returns>
            public static int Number(int n)
            {
                if (n <= 2)
                {
                    return 1;
                }
                return Number(n - 1) + Number(n - 2);
            }
    
        }
    }


  • 相关阅读:
    微信红包开发
    第一次开博客,留此纪念
    数据结构--树(遍历,红黑,B树)
    c++之vector
    动态规划求解最长公共子序列问题
    c++之map
    k-折交叉验证(k-fold crossValidation)
    prim算法
    快速排序算法
    浙大机试题目
  • 原文地址:https://www.cnblogs.com/workcn/p/4353781.html
Copyright © 2011-2022 走看看