可以在没有 while 循环的情况下完成吗?
static void Main(string[] args)
{
Console.WriteLine("Please enter a number");
int number = Convert.ToInt32(Console.ReadLine());
Console.WriteLine(" #" + Fibonacci(number));
}
public static int Fibonacci(int number)
{
if (number <= 1)
{
return 1;
}
else
{
return Fibonacci(number - 2) + Fibonacci(number - 1);
}
}
我什至无法添加
Console.WriteLine
在 base case 的主体中,因为它被执行了 [number] 次;不知道如何在没有循环的情况下做到这一点......
最佳答案
static void Main(string[] args)
{
Console.WriteLine("Please enter a number");
int number = Convert.ToInt32(Console.ReadLine());
Fibonacci(0, 1, 1, number);
}
public static void Fibonacci(int a, int b, int counter, int number)
{
Console.WriteLine(a);
if (counter < number) Fibonacci(b, a+b, counter+1, number);
}
关于c# - 在 C# 中递归打印斐波那契字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9828762/