我想计算一个数的阶乘的尾随零。当我把这个数字除以10时,我希望最后一个零会被去掉,但事实并非如此
def fact(num):
if (num==0 or num==1):
return 1
else:
return num*fact(num-1)
def num(a):
f = fact(a)
count = 0
while(f%10==0):
count=count+1
print(f)
f=int(f/10)
print(f)
return count
n=int(input())
while(n!=0):
a=int(input())
print(num(a))
n=n-1
您需要替换:
与
在
num()
函数内。它会解决你的问题说明:
f/10
将数字转换为float
。当你把float
转换成int
时,如果是一个大的数字,它就会失去精度您可以通过执行以下操作进行确认:
相关问题 更多 >
编程相关推荐