我是一个巨大的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")
这可能是完全错误的,这是一个简单的方法吗?
答案 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)