C#完美实现斐波那契数列

斐波那契数列(1,1,2,3,5,8...)

用函数表示为f(n)=f(n-1)+f(n-2) (n>2,f(1)=1,f(2)=1)

以下是最优的解决方案:

        /// 


        /// Use less variables to implement Fibonacci
        /// 

        /// 
        /// 
        static int Fn2(int n)
        {
            if (n <= 0)
            {
                throw new ArgumentOutOfRangeException();
            }

            int a = 1;
            int b = 1;

            for (int i = 3; i <= n; i++)
            {
                b = checked(a + b); // when n>46 memory will  overflow
                a = b - a;
            }
            return b;
        }


你可能感兴趣的:(C#小小小例题)