【发布时间】:2021-02-03 15:03:23
【问题描述】:
我发现很难理解以下输出 8,8 的算法的逻辑。如果您能提供一些见解,我将不胜感激。
using System;
namespace Console_Example
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine(g(4) + g(5) + "," + g(6));
Console.ReadKey();
}
static int g(int k)
{
if ((k == 1) || (k == 2))
return 1;
else
return g(k - 1) + g(k - 2);
}
}
}
【问题讨论】:
-
jusz 调试函数,你会发现自己。无论如何,你的问题有一个 horrible 的标题。它应该包含相关信息。
-
你希望代码做什么?
-
写下你期望它的行为,调试它,并将它的行为与你认为应该做的比较。此外,从更简单的函数调用开始(传递小数字,如 1、2、3、4)
-
8,8 是正确的(在纸上调试)
-
看起来像斐波那契数列实现