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

首頁 > 學院 > 開發設計 > 正文

Leetcode 172. Factorial Trailing Zeroes

2019-11-10 22:43:51
字體:
來源:轉載
供稿:網友

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

Note: Your solution should be in logarithmic time complexity.

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

class Solution {public: int trailingZeroes(int n) { // int res=0; while(n){ n/=5; res+=n; } return res; }};
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 工布江达县| 博野县| 左权县| 类乌齐县| 长垣县| 普宁市| 泉州市| 贵定县| 佳木斯市| 西昌市| 静乐县| 枝江市| 合山市| 美姑县| 海丰县| 洛南县| 门头沟区| 巴林左旗| 德兴市| 衡南县| 漳浦县| 贡山| 东城区| 仁化县| 宁远县| 张家口市| 乐安县| 神木县| 合肥市| 平武县| 辉南县| 富顺县| 阿拉善左旗| 灌阳县| 剑川县| 峨眉山市| 江达县| 花莲县| 福泉市| 蒙城县| 宽甸|