计算斯特林用户输入Python

时间:2016-04-01 04:15:38

标签: python

我是一个巨大的python noob并且已经完成了

的任务

"编写一个使用斯特林近似计算n阶乘的程序。 你的程序应该提示用户输入n的值,然后应该计算n的斯特林近似值!并输出“近似值为XXX,即精确答案的YY”,其中XXX是斯特林近似值,YY是XXX / n!。 (如果近似值很好,YY的值应接近1.)"

我写了

import math

n = input(int("Enter a value for n: ")

XXX = math.sqrt(2*math.pi*n)*(n/math.e)**n
YY = XXX/n          

print("The approximation is XXX which is YY of the exact answer")

这可能是完全错误的,这是一个简单的方法吗?

1 个答案:

答案 0 :(得分:0)

这可能对您有帮助

import NumPy as np
def f(n):
    if (np.sqrt((2*np.pi)) *n**( (n+.5))*np.exp(-n) < np.math.factorial(n) \
        <np.sqrt((2*np.pi)) *n**( (n+.5))*np.exp(-n+1/(12*n))):
        print("Stirling is true")
    else:
        print("Something is wrong")

例如设置n = 5

f(5)