国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

Leetcode 172. Factorial Trailing Zeroes

2019-11-10 21:32:57
字體:
供稿:網(wǎng)友

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

Note: Your solution should be in logarithmic time complexity.

s思路: 1. n!中零的個數(shù)是因?yàn)橛?,5這兩個因子。我們就去找有多少個5,多少個2,然后這兩個數(shù)的最小者決定了0的個數(shù)。嚴(yán)格的說,必須都計算,但是從得到結(jié)果的角度思考,由于5比2少,所以只需要知道有多少個5即可。 2. 比如:50!50/5就可以得到5的倍數(shù)的個數(shù)。第一次做的時候,就以為這就完了。其實(shí)沒完,因?yàn)檫@兩者不能直接劃等號,比如:5的倍數(shù)是5,10,15,20,25,30,35,40,45,50.注意到,25和50各含有兩個5.也就是說,5的倍數(shù)的個數(shù)不完全等于5的個數(shù)。換句話說,5的倍數(shù)的個數(shù)不嚴(yán)格等于5的個數(shù),但是非常接近。現(xiàn)在的問題,就是如何修正?自己之前想到這里,就不知所措,除了stick這個方法就是quit這個方法,忘了還有一條路,就是繼續(xù)使用這個方法往后走,比如:50/5=10,把10/5=2,2/5=0,就是一個iterative的過程。也就是說,這個結(jié)果不是一蹴而就就能得到,必須允許分步走。這道題的思路自然就出來! 3. 分步iterative走,經(jīng)常是把一個方法多次運(yùn)用,逐漸逼近事物真相!

class Solution {public: int trailingZeroes(int n) { // int res=0; while(n){ n/=5; res+=n; } return res; }};
發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 淅川县| 东乡族自治县| 永安市| 肥城市| 十堰市| 通化县| 胶南市| 太仆寺旗| 石柱| 宽甸| 廉江市| 抚顺县| 昭通市| 林甸县| 岑溪市| 于都县| 镇平县| 吉木萨尔县| 桂平市| 富蕴县| 名山县| 庄浪县| 涞水县| 姜堰市| 和政县| 岳普湖县| 嘉荫县| 桐城市| 出国| 漾濞| 禹城市| 崇仁县| 余江县| 乌兰浩特市| 庆元县| 横山县| 兖州市| 玉龙| 阿合奇县| 顺平县| 且末县|