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