利用斯特林公式对阶乘近似求值

作者:追风剑情 发布于:2016-12-7 13:55 分类:Algorithms

斯特林公式

1111111.jpg

示例代码

using System;

namespace TTTest
{
    class Program
    {
        static void Main(string[] args)
        {
            double n = 10;
            Console.WriteLine(string.Format("精确求值: {0}的阶乘等于{1}", n, Factorial(n)));
            Console.WriteLine(string.Format("近似求值: {0}的阶乘等于{1}", n, AsyFactorial(n)));

            Console.Read();
        }

        private static double Factorial(double n)
        {
            double ret = n;
            for (double i = n - 1; i > 1; i--)
                ret *= i;
            return ret;
        }

        //利用斯特林公式对阶乘近似求值
        private static double AsyFactorial(double n)
        {
            double ret = Math.Sqrt(2 * Math.PI * n) * Math.Pow(n / Math.E, n);
            return ret;
        }
    }
}

 

运行测试

22222.png

 

标签: Algorithms

Powered by emlog  蜀ICP备18021003号-1   sitemap

川公网安备 51019002001593号