Go語言程式:計算階乘的尾隨零個數
在數學中,階乘是一個函式,它將給定數字乘以小於或等於該數字的每個正整數。該函式的結果用符號!表示。例如,5的階乘是5! = 5 x 4 x 3 x 2 x 1 = 120。
在本文中,我們將討論如何編寫一個Go語言程式來計算一個數字階乘中尾隨零的個數。
計算階乘尾隨零個數的演算法
計算一個數字階乘中尾隨零個數的演算法如下:
將變數count初始化為0。
將數字除以5,並將商儲存在num中。
如果num大於0,則將num新增到count中。
將num除以5,並將商儲存在num中。
重複步驟3-4,直到num小於或等於0。
count的值就是原始數字階乘中尾隨零的個數。
Go語言程式:計算階乘的尾隨零個數
現在,讓我們使用上面的演算法編寫Go語言程式來計算一個數字階乘中尾隨零的個數:
示例
package main
import "fmt"
func countTrailingZeros(n int) int {
count := 0
for i := 5; n/i >= 1; i *= 5 {
count += n / i
}
return count
}
func main() {
num := 10
fmt.Printf("The number of trailing zeros in the factorial of %d is %d", num, countTrailingZeros(num))
}
輸出
The number of trailing zeros in the factorial of 10 is 2
在這個程式中,我們首先定義一個名為countTrailingZeros的函式,它接受一個整數n作為引數並返回一個整數。此函式使用我們前面討論的演算法計算n的階乘中尾隨零的個數。
然後,我們定義一個變數num並將其傳遞給countTrailingZeros函式。我們使用fmt.Printf列印函式的結果,它顯示num階乘中尾隨零的個數。
這意味著10的階乘有2個尾隨零。您可以修改num的值來測試其他值的程式。
結論
我們學習瞭如何編寫Go語言程式來計算一個數字階乘中尾隨零的個數。我們討論了此程式的演算法並使用Go語言實現了它。透過遵循提供的步驟,您可以編寫一個程式來計算任何數字階乘中尾隨零的個數。此程式可用於需要計算大階乘中尾隨零個數的各種數學應用中。Go語言為此類數學計算提供了一個高效且易於使用的平臺。
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP