欧美一区2区三区4区公司二百,国产精品婷婷午夜在线观看,自拍偷拍亚洲精品,国产美女诱惑一区二区

如何解leetcode Factorial Trailing Zeroes

問題描述:

?

Given an integer?n, return the number of trailing zeroes in?n!.

?

Example 1:

?

Input: 3
Output: 0
Explanation:?3! = 6, no trailing zero.

?

Example 2:

?

Input: 5
Output: 1
Explanation:?5! = 120, one trailing zero.

?

Note:?Your solution should be in logarithmic time complexity.

?

思路:

在n!中,若想在結果的結尾產生0,只能是5乘以雙數、或者某個乘數結尾為0,如10,但10可視為5*2,20可以視為5*4.

綜上要想找n!中有幾個0,其實就是尋求在1到n這n個數中有幾個5.

其中25=5*5,這需要視為2個5

代碼目的就變成了尋找1到n這n個數中5的個數

代碼:

?

 def trailingZeroes(self, n: int) -> int:
          if n <= 0: return 0
        
          return sum( (n//(5**j)) for j in range(1, int(math.log(n, 5)) + 1))

?

n//(5**j) ,當j=1時,就是尋找在1到n這n個數中有幾個5

n//(5**j) ,當j=2時,就是尋找在1到n這n個數中有幾個25(5*5)(在上一步計算中,25會被統計,一次,但由于25是5*5,內部含有兩個5,因而在第二步需要再統計一次,即一共是算為2次)

依次類推

最后將結果累計相加,就可以計算出就是尋找在1到n這n個數中有幾個5了

?

文章鏈接: http://www.qzkangyuan.com/24349.html

文章標題:如何解leetcode Factorial Trailing Zeroes

文章版權:夢飛科技所發布的內容,部分為原創文章,轉載請注明來源,網絡轉載文章如有侵權請聯系我們!

聲明:本站所有文章,如無特殊說明或標注,均為本站原創發布。任何個人或組織,在未征得本站同意時,禁止復制、盜用、采集、發布本站內容到任何網站、書籍等各類媒體平臺。如若本站內容侵犯了原著者的合法權益,可聯系我們進行處理。

給TA打賞
共{{data.count}}人
人已打賞
建站教程投稿分享

函數postgres(二)

2023-10-12 10:17:37

建站教程投稿分享

卸載mysql步驟

2023-10-12 10:23:41

0 條回復 A文章作者 M管理員
    暫無討論,說說你的看法吧
?
個人中心
購物車
優惠劵
今日簽到
有新私信 私信列表
搜索
主站蜘蛛池模板: 上栗县| 循化| 塘沽区| 保德县| 阳东县| 崇义县| 禹城市| 收藏| 太康县| 延边| 东乡| 本溪市| 鄄城县| 崇左市| 平凉市| 兴仁县| 沙坪坝区| 临沂市| 吉林市| 谷城县| 会理县| 田东县| 酒泉市| 开化县| 丽水市| 社会| 和顺县| 江阴市| 永善县| 东方市| 秀山| 汉川市| 新宁县| 通城县| 东山县| 黄山市| 西林县| 铁岭市| 庆元县| 万年县| 曲阜市|