python之N阶乘结果末尾有几个0


 

算法思路:首先是算阶乘,可以使用内置函数reduce实现,其次是计算结果的末尾有几个0,可以使用除余判断

 

代码如下:

#!/usr/bin/env python
#-*-coding:utf-8-*- #定义一个函数实现算法 def zeroTest(n): #定义一个列表把1-n的数存入 listN = [] for i in range(1,n+1): listN.append(i) #计算阶乘 factorialN = reduce(lambda x,y:x*y,listN) #定义0的个数 zeroN = 0 #循环计算 while True: #如果除余不为0,结束 if factorialN%10: break #计算除余后的阶乘值 factorialN = factorialN/10 #增加0个数 zeroN += 1 return zeroN zeroTimes = zeroTest(n) print zeroTimes

  


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM