欧美一区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://m.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管理員
    暫無討論,說說你的看法吧
?
個人中心
購物車
優惠劵
今日簽到
有新私信 私信列表
搜索
主站蜘蛛池模板: 沈丘县| 乌兰浩特市| 驻马店市| 二手房| 尚义县| 且末县| 上栗县| 虞城县| 兴义市| 正宁县| 壤塘县| 西充县| 乳山市| 泗洪县| 望奎县| 新晃| 水富县| 南漳县| 肇源县| 陕西省| 广昌县| 宝鸡市| 奎屯市| 卓尼县| 泰顺县| 阆中市| 彭州市| 班玛县| 呼伦贝尔市| 交城县| 徐州市| 浮梁县| 北流市| 比如县| 乌兰县| 白玉县| 武宣县| 襄城县| 罗山县| 永嘉县| 德格县|