我有以下代码来计算n!
import numpy as np
print "n! (for n<31)"
print
n = input("Enter n: ")
lst = []
for i in range(1,n+1):
lst.append(i)
print lst #Just to see if the program is working
print "n!: ", np.prod(lst)
但是,对于某些数字,程序会返回负值。
例如。以下是我运行 n = 20 时来自控制台的内容:
n! (for n<31)
Enter n: 20
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]
n!: -2102132736
它也发生在 n = 32 但是,该程序确实适用于其他数字,例如。3!返回 6,因为它应该。
有人可以解释一下。