您的位置首页生活百科

c#题目,用递来自归方法做斐波纳契数列,求解答

c#题目,用递来自归方法做斐波纳契数列,求解答

的有关信息介绍如下:

问题补充说明:斐波纳契数列,又称黄金分割数列,指的是这样一个数列:1、1、2、3、5、8、13、21、……这个数列从第三项开始,每一项都等于前两项之和。请用递归算法编写函数实现求该数列的前n项和。... 斐波纳契数列,又称黄金分割数列,指的是这样一个数列:1、1、2、3、5、8、13、21、…… 这个数列从第三项开始,每一项都等于前两项之和。请用递归算法编写函数实现求该数列的前n项和。 展开

你好,软糖来回答咯~~

c#题目,用递来自归方法做斐波纳契数列,求解答

代码如下

(注意递归运行很慢,超过3映二烟利代头协义0就很费时间了)

static void Main(string[] args) {

            C径铁令容黄顶onsole.WriteLine("// 输入 x 退出本程序");

            //请用户输入数字,循环直到正确输入

            int 个数 = 10;

            bool 结果 = false;

            s确消支交tring 输入内容 = "";

            while (结果 == false) {

                Console.BackgroundColor = ConsoleColor.DarkBlue;

                C吃例方华培下呼移犯onsole.Write("请输入斐波那化契数列的数量:  ");

                Console.Backgrou沙临如ndColor = ***.Black;

                输入内容 = Console.ReadLine();

                i切克商汉f (输入内容.Trim(' ').ToLower() == "x") { Environment.Exit(0); }

                if (输入内容.Trim(' ').ToLower() =效增定气晚民斗交间底风= "") { continue; }

                结果 = 判断整数是否合法(输入内容);

            }

            个数 = int.Parse(输入内容);

            Console.BackgroundColor = ConsoleColor.DarkGreen;

            Console.ForegroundColor = ConsoleCo商务低今始式lor.White;

            Console.WriteLine("从 1 到 {百刘急项浓知0} 的斐波那契数列文济坚顶把儿你举杨之和为:  {1}", 个数, 递归求和(个数));

            Console.BackgroundColor = ***.Black;

            //退出

            Console.BackgroundCol银够烟易育企角会和找or = Consol陆次气办eColor.Dar特kCyan;

            C例硫onsole.Write("按任意键退出...");

            Console.ReadKey();

        }

        s离现空审tatic long 递归求和(int n) {

            if (n.Equals(0) || n.Equals(1)) { r鲜石福革动留eturn 1; }

            return (递归求和(n - 1) + 递归求和(n - 2));

        }

        static bool 判断整数是否合法(string 输入内容) {

            int 转换后的数字;

            bool 是数字 = int.TryParse(输入内容, out 转换后的数字);

            if (是数字 == false)                 //转换数字失败就再次请求输入正确值。

            { Console.WriteLine("整数不正确!"); return false; } else {

                if (转换后的数字 < 0) {

                    Console.WriteLine("整数必须大于 0!"); return false;

                } else {

                    return true;

                }               

            }

        }

满意请采纳,谢谢。