哪位大佬可以帮忙看看大整数阶乘哪里不对

n = int(input())
a = [1]+[0 for i in range(1000)]
up = 0
for i in range(2,n+1):
    for j in range(1,1000):
        temp = a[j]*i + up
        up = temp/10           ##进位
        a[j] = temp % 10
m = 1000
while m > 0:
    if a[m] != 0:
        while n > 0:
            print(a[n])
            n -= 1
    m -= 1

 

a = 1000 #数值任意调整
b = 1
for x in range(2, a + 1):
    b = b * x
print(b)

简洁多了