2021-05-10:階乘結果尾數有多少個零?
福大大 答案2021-05-10:
時間複雜度:O(logn)。在這種方法中,我們将 n 除以 5 的每個幂。根據定義,5 的 log5(n)幂小于或等于 n。由于乘法和除法在 32 位整數範圍内,我們将這些計算視為O(1)。因此,我們正在執行 log5(n)* O(1)=logn 操作。
空間複雜度:O(1),隻是用了常數空間。
代碼用golang編寫。代碼如下:
package main
import "fmt"
func main() {
fmt.Println(trailingZeroes(5))
}
func trailingZeroes(n int) int {
ret := 0
for n > 0 {
n /= 5
ret = n
}
return ret
}
執行結果如下:
,
更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!