在数字的阶乘中尾随零

时间:2015-06-18 02:34:31

标签: python

我一直在尝试解决一个程序:计算数字的阶乘中的尾随零的数量,这是我的代码。它在我的电脑上运行良好,但在判断时显示“运行时错误(NZEC)”。

def fact(n):#calculate factorial of the number
  i =2
  temp =1
  while i<= n :
    temp*=i
    i+=1
  return temp



def zero_count(n):#calculate number of trailing zeroes
   F = fact(n)
   F =str(F)
   R = F[::-1]
   Rnum = int(R)
   Rnum = str(Rnum)
   return(len(R)-len(Rnum))



 def main():
     cases = int(input())#total number of cases
     i = 1
     num = []
     while i<=cases:
        n=int(input())
        num.append(zero_count(n))
        i+=1
     for item in num:
        print(item)
        print()
 main()

1 个答案:

答案 0 :(得分:0)

这是一个简单的函数,用于计算数字中的尾随零:

def count_trailing_zeros(n):
    ntz = 0
    while True:
        if n % 10 == 0:
            ntz += 1
            n = n/10
        else:
            break
    return ntz

计算了您的阶乘后,只需通过此函数运行结果。