」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > PHP 程式計算數字階乘中的尾隨零

PHP 程式計算數字階乘中的尾隨零

發佈於2024-08-30
瀏覽:300

PHP Program to Count Trailing Zeroes in Factorial of a Number

什麼是數的階乘?

非負整數的階乘,以符號「!」表示,是所有小於或等於該數的正整數的乘積。換句話說,一個數字的階乘是透過將該數字乘以它下面的所有正整數來獲得的。

例如,5的階乘計算如下:

5! = 5 x 4 x 3 x 2 x 1 = 120

同樣,0的階乘定義為1:

0! = 1

階乘常用於數學和組合數學中來計算物件的排列、組合和排列。它們也應用於機率、微積分和其他各種數學領域。

計算數字階乘中尾隨零的 PHP 程式

在數字的階乘中,尾隨零是指階乘十進位表示形式末尾的連續零的數量。

例如10! = 10×9×8×7×6×5×4×3×2×1

執行乘法

10! = 3,628,800

10 的階乘是 3,628,800。

10 的階乘中的尾隨零​​為 2,因為階乘末端的連續零的數量。

例子

= 5) {
      $number = (int) ($number / 5);
      $count  = $number;
   }

   return $count;
}

// Test the function
$number = 20;
$trailingZeroes = countTrailingZeroes($number);
echo "The factorial of $number has $trailingZeroes trailing zeroes.
"; // Test the function $number = 14; $trailingZeroes = countTrailingZeroes($number); echo "The factorial of $number has $trailingZeroes trailing zeroes."; ?>

輸出

The factorial of 20 has 4 trailing zeroes.
The factorial of 14 has 2 trailing zeroes.

代碼說明

在範例程式碼中,PHP 函數稱為 countTrailingZeroes。此函數計算給定數字的階乘中尾隨零的數量。它透過將數字除以 5 的冪併計算商來實現此目的。只要數字大於或等於 5,while 迴圈就會繼續。在迴圈內,使用整數除法將數字除以 5,以計算目前數字中 5 的因數的數量。所得商被加入到名為 $count 的變數中,該變數追蹤尾隨零的計數。循環結束後,函數傳回最終計數。

在函數下方,有一個測試案例,其中使用值 123 呼叫該函數。這使用 countTrailingZeroes 函數計算 20 階乘中尾隨零的數量。結果儲存在名為 $trailingZeroes 的變數中。最後,使用 echo 顯示結果,提供輸入數字及其階乘中尾隨零的計數。

在本例中,20 的階乘為 2,432,902,008,176,640,000,因此其階乘中尾隨零的計數為 4,而 14 的階乘為 87,178,291,200。因此其階乘中尾隨零的數量為 2。

結論

提供的 PHP 程式可以有效計算給定數字的階乘中尾隨零的計數。它利用 while 迴圈將數字除以 5 的冪併計算商,表示尾隨零的數量。透過利用這種方法,程式無需計算整個階乘。此技術非常有效,因為階乘中的尾隨零​​是由數 5 產生的。因此,透過計算 5 的因數,程式可以準確地確定尾隨零的計數。此程式碼為計算階乘中的尾隨零​​提供了一個方便且有效的解決方案,有助於各種數學和程式應用。

版本聲明 本文轉載於:https://www.tutorialspoint.com/php-program-to-count-trailing-zeroes-in-factorial-of-a-number如有侵犯,請聯繫[email protected]刪除
最新教學 更多>
  • PHP陣列鍵值異常:了解07和08的好奇情況
    PHP陣列鍵值異常:了解07和08的好奇情況
    PHP數組鍵值問題,使用07&08 在給定數月的數組中,鍵值07和08呈現令人困惑的行為時,就會出現一個不尋常的問題。運行print_r($月份)返回意外結果:鍵“ 07”丟失,而鍵“ 08”分配給了9月的值。 此問題源於PHP對領先零的解釋。當一個數字帶有0(例如07或08)的前綴時,PHP...
    程式設計 發佈於2025-04-19
  • 如何將Allegro庫集成到Visual Studio項目中
    如何將Allegro庫集成到Visual Studio項目中
    將外部庫將其納入Visual Studio項目:添加Allegro 將Allegro添加到Visual Studio 確保您已經下載了Allegro庫並在系統上確定了其位置。 It typically comes in a .dll format.Project Properties Modifi...
    程式設計 發佈於2025-04-19
  • FastAPI自定義404頁面創建指南
    FastAPI自定義404頁面創建指南
    response = await call_next(request) if response.status_code == 404: return RedirectResponse("https://fastapi.tiangolo.com") else: ...
    程式設計 發佈於2025-04-19
  • 如何在php中使用捲髮發送原始帖子請求?
    如何在php中使用捲髮發送原始帖子請求?
    如何使用php 創建請求來發送原始帖子請求,開始使用curl_init()開始初始化curl session。然後,配置以下選項: curlopt_url:請求 [要發送的原始數據指定內容類型,為原始的帖子請求指定身體的內容類型很重要。在這種情況下,它是文本/平原。要執行此操作,請使用包含以下標頭...
    程式設計 發佈於2025-04-19
  • HTML格式標籤
    HTML格式標籤
    HTML 格式化元素 **HTML Formatting is a process of formatting text for better look and feel. HTML provides us ability to format text without us...
    程式設計 發佈於2025-04-19
  • 如何在Chrome中居中選擇框文本?
    如何在Chrome中居中選擇框文本?
    選擇框的文本對齊:局部chrome-inly-ly-ly-lyly solument 您可能希望將文本中心集中在選擇框中,以獲取優化的原因或提高可訪問性。但是,在CSS中的選擇元素中手動添加一個文本 - 對屬性可能無法正常工作。 初始嘗試 state)</option> < o...
    程式設計 發佈於2025-04-19
  • 如何處理PHP文件系統功能中的UTF-8文件名?
    如何處理PHP文件系統功能中的UTF-8文件名?
    在PHP的Filesystem functions中處理UTF-8 FileNames 在使用PHP的MKDIR函數中含有UTF-8字符的文件很多flusf-8字符時,您可能會在Windows Explorer中遇到comploreer grounder grounder grounder gro...
    程式設計 發佈於2025-04-19
  • 如何使用組在MySQL中旋轉數據?
    如何使用組在MySQL中旋轉數據?
    在關係數據庫中使用mySQL組使用mySQL組進行查詢結果,在關係數據庫中使用MySQL組,轉移數據的數據是指重新排列的行和列的重排以增強數據可視化。在這裡,我們面對一個共同的挑戰:使用組的組將數據從基於行的基於列的轉換為基於列。讓我們考慮以下查詢: select data d.data_ti...
    程式設計 發佈於2025-04-19
  • 在JavaScript中如何獲取實際渲染的字體,當CSS字體屬性未定義時?
    在JavaScript中如何獲取實際渲染的字體,當CSS字體屬性未定義時?
    Accessing Actual Rendered Font when Undefined in CSSWhen accessing the font properties of an element, the JavaScript object.style.fontFamily and objec...
    程式設計 發佈於2025-04-19
  • 如何使用Depimal.parse()中的指數表示法中的數字?
    如何使用Depimal.parse()中的指數表示法中的數字?
    在嘗試使用Decimal.parse(“ 1.2345e-02”中的指數符號表示法表示的字符串時,您可能會遇到錯誤。這是因為默認解析方法無法識別指數符號。 成功解析這樣的字符串,您需要明確指定它代表浮點數。您可以使用numbersTyles.Float樣式進行此操作,如下所示:[&& && && ...
    程式設計 發佈於2025-04-19
  • 左連接為何在右表WHERE子句過濾時像內連接?
    左連接為何在右表WHERE子句過濾時像內連接?
    左JOIN CONUNDRUM:WITCHING小時在數據庫Wizard的領域中變成內在的加入很有趣,當將c.foobar條件放置在上面的Where子句中時,據說左聯接似乎會轉換為內部連接。僅當滿足A.Foo和C.Foobar標準時,才會返回結果。 為什麼要變形?關鍵在於其中的子句。當左聯接的右側...
    程式設計 發佈於2025-04-19
  • Java為何無法創建泛型數組?
    Java為何無法創建泛型數組?
    通用陣列創建錯誤 arrayList [2]; JAVA報告了“通用數組創建”錯誤。為什麼不允許這樣做? 答案:Create an Auxiliary Class:public static ArrayList<myObject>[] a = new ArrayList<my...
    程式設計 發佈於2025-04-19
  • 如何解決由於Android的內容安全策略而拒絕加載腳本... \”錯誤?
    如何解決由於Android的內容安全策略而拒絕加載腳本... \”錯誤?
    Unveiling the Mystery: Content Security Policy Directive ErrorsEncountering the enigmatic error "Refused to load the script..." when deployi...
    程式設計 發佈於2025-04-19
  • 如何使用Java.net.urlConnection和Multipart/form-data編碼使用其他參數上傳文件?
    如何使用Java.net.urlConnection和Multipart/form-data編碼使用其他參數上傳文件?
    使用http request 上傳文件上傳到http server,同時也提交其他參數,java.net.net.urlconnection and Multipart/form-data Encoding是普遍的。 Here's a breakdown of the process:Mu...
    程式設計 發佈於2025-04-19
  • Python高效去除文本中HTML標籤方法
    Python高效去除文本中HTML標籤方法
    在Python中剝離HTML標籤,以獲取原始的文本表示 僅通過Python的MlStripper 來簡化剝離過程,Python Standard庫提供了一個專門的功能,MLSTREPERE,MLSTREPERIPLE,MLSTREPERE,MLSTREPERIPE,MLSTREPERCE,MLST...
    程式設計 發佈於2025-04-19

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3