日期:2014-05-18  浏览次数:20865 次

请教一道面试题
一列数的规则如下: 1、1、2、3、5、8、13、21、34?????,C#编程输出该数列的前100位。

------解决方案--------------------
又见斐波那契数列,请参考以下代码:
C# code

        public static long Fibonacci(int n)
        {
            if (n < 2)
                return 1;
            long a = 1;
            long b = 1;
            for (int i = 2; i < n; i++)
            {
                b = a + b;
                a = b - a;
            }
            return a + b;
        }

------解决方案--------------------
100的时候。。int超出。。。改个类型~~

C# code
static void Main(string[] args)
{
    ulong x = 0, y = 1;
    for (ulong j = 1; j < 100; j++, y = x + y, x = y - x)
        Console.Write(y + " ");
    Console.Read();
}