递归算法实现: 一列数的规则如下: 1、1、2、3、5、8、13、21、34...... 求第30位数是多少,用递归算法实现。
static void Main(string[] args)
{
Console.WriteLine(Foo(30));
Console.ReadKey();
}
private static int Foo(int i)
{
if (i<=0)
{
return 0;
}
else if (i > 0 && i <= 2)
{
return 1;
}
else
{
return Foo(i - 1) + Foo(i - 2);
}
}
使用循环实现:循环打印出1、1、2、3、5、8、13、21、34...... 到第30位数
static void Main(string[] args)
{
Calculate(30);
Console.ReadKey();
}
private static void Calculate(int k)
{
int num = 1, sum = 1, f;
Console.WriteLine(num);
Console.WriteLine(sum);
for (int i = 3; i <= k; i++)
{
f = sum;
sum = num + sum;
num = f;
Console.WriteLine(sum);
}
}