问题补充说明:斐波纳契数列,又称黄金分割数列,指的是这样一个数列:1、1、2、3、5、8、13、21、……这个数列从第三项开始,每一项都等于前两项之和。请用递归算法编写函数实现求该数列的前n项和。... 斐波纳契数列,又称黄金分割数列,指的是这样一个数列:1、1、2、3、5、8、13、21、…… 这个数列从第三项开始,每一项都等于前两项之和。请用递归算法编写函数实现求该数列的前n项和。 展开
你好迅费搞若罗攻养川岁,软糖来回答咯~~
代命裂罪诗码如下
(注意递归运行很慢,超过30就很费时间了)
static void Main(string[] args) {C顾体onsole.WriteLine("// 输入 x 退出本程序");
//请用户输入数字,循环直到正确输入
i更济认纸积nt 个数 = 10;
bool 结果 = false;
string 输入内容 = "";
while (结果 == fa为侵列数根防击lse) {
C抗雨伟onsole.BackgroundColor = ConsoleColor.DarkBlue;
C充实富制onsole.Wri地哪明啊重te("请输入斐波那契数列的数量: ");
Console.BackgroundColor = ***.Black;
输入内容 = Console.ReadLine();
if (输入内容.Trim(' ').ToLo机迫接wer() == "x") { Environme光势燃挥侵心nt.Exit(0); }
if (输入内容.Trim(' ').ToLower() == "") { continue; }
结果 = 判断整数是否合法(输入内容);
}
个数 = int.Parse(输入内容);
Console.Backgro答面制在要果肥亚还协undColor = ConsoleC还连题olor.DarkGreen;
C讨居苦特磁照急材似onsole.Foregr简笑城又绿宗刻oundColor = ConsoleColor.White;
Console.WriteLine("从 1 到 {0} 的斐波那契数列之和为: {1}", 个数, 递归求和(个数));
Console.BackgroundColor = ***.Black;
//退出
Console.BackgroundColor = ConsoleColor.DarkCyan;
Console.Write("按含财曾响直任意键退出...");
Console.ReadKey();
}
static long 递归求和(int n) {
if (n.Equals级怀棉节术场溶商(0) || n.Equals(1)) { return 1; }
return (递归求和(n - 1) + 递归求和(n - 2));
}
sta服范止她受黄脚tic bool 判断整数是否合法(string 输入内容) {
int 转换后的数字;
bool 是数字 = int.TryParse(输入内容, out 转换后的数字);
if (是数字 == false) //转换数字失败就再次请求输入正确值。
{ Console.WriteLine("整数不正确!"); return false; } else {
if (转换后的数字 < 0) {
Console.WriteLine("整数必须大于 0!"); return false;
} else {
return true;
}
}
}
满意请采纳,谢谢。