gpt4 book ai didi

c# - 如何在 C# 中获取斐波那契数列

转载 作者:行者123 更新时间:2023-11-30 14:07:27 24 4
gpt4 key购买 nike

伙计们,我有一个关于斐波那契的问题。我如何获得斐波那契数列,该数字也将在用户输入时结束...例如,如果我输入 21,则输出必须为 0 1 1 2 3 5 8 13 21

这是我的代码

    static void Main(string[] args)
{

int input, first = 0, second = 1, third = 0;
Console.Write("Enter a number : ");
n = Convert.ToInt32(Console.ReadLine());
Console.Write("First {0} Fibonacci numbers {1} {2} ", input, first, second);

for (int i = 3; i <= input; i++)
{
third = first + second;
Console.Write("{0} ", third);
first = second;
second = third;
}


}

最佳答案

您的错误之一在于循环逻辑。

如果用户输入 21,您希望斐波那契数最多为 21。您不需要前 21 个斐波那契数。

而不是

   for (int i = 3; i <= input; i++)
{
////
}

   while(second <= input)
{
////
}

我的回答几乎肯定有一个差一错误,但这应该为您指明正确的方向。


斐波那契数列经常用于技术面试问题,因为程序员在临时变量上挣扎,尤其是在压力下。没有它更容易:

不要有三个变量(firstsecondthird)。相反,有一个变量:一个包含序列最后两个元素的数组:

int[] seq = new[] { 0, 1 };

然后,每次你想移动到下一个数字时:

while(seq[1] <= input) 
{
Console.Write("{0}", seq[1]);
seq = new[] { seq[1], seq[0] + seq[1] };
}

关于c# - 如何在 C# 中获取斐波那契数列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40966711/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com