110,536
社区成员
发帖
与我相关
我的任务
分享
static List<int> l = new List<int>();
static int f(int i)
{
l.Add(i);
if (i <= 0)
{
return 0;
}
else if (i <= 2)
{
return 1;
}
else
{
return f(i - 1) + f(i - 2);
}
}
static void Main(string[] args)
{
Console.WriteLine(f(5));
Console.WriteLine("-------------");
foreach(int i in l)
{
Console.WriteLine(i.ToString());
}
Console.Read();
}
输出:
public static int Foo(int i, string msg="")
{
Console.WriteLine(msg);
if (i <= 0)
return 0;
else if(i > 0 && i <= 2)
return 1;
else return Foo(i - 1, string.Format("f({0} - 1)", i)) + Foo(i - 2, string.Format("f({0} - 2)", i));
}
执行次序一目了然