如何實現一個PHP類來計算整數的階乘?(代碼詳解)

2020-12-15 百家號

本篇文章主要給大家介紹實現一個PHP類來計算整數的階乘。首先大家簡單了解一下什麼是階乘

一個正整數的階乘(factorial)是所有小於及等於該數的正整數的積,並且0的階乘為1。自然數n的階乘寫作n!。

簡單的說,比如6的階乘就是6!=1*2*3*4*5*6

那麼我們如何實現PHP類來計算整數的階乘?

實現代碼如下:

<?php

class factorial_of_a_number

{

protected $_n;

public function __construct($n)

{

if (!is_int($n))

{

throw new InvalidArgumentException('Not a number or missing argument');

}

$this->_n = $n;

}

public function result()

{

$factorial = 1;

for ($i = 1; $i <= $this->_n; $i++)

{

$factorial *= $i;

}

return $factorial;

}

}

$newfactorial = New factorial_of_a_number(5);

echo $newfactorial->result();

?>

相關函數介紹:上述代碼就是計算出5的階乘,輸出結果為120。

is_int()函數檢測變量是否是整數。

__construct() 函數創建一個新的 SimpleXMLElement 對象。PHP 5 允行開發者在一個類中定義一個方法作為構造函數。具有構造函數的類會在每次創建新對象時先調用此方法,所以非常適合在使用對象之前做一些初始化工作。

我們可以用一個邏輯圖來表示:

本篇文章就關於實現一個PHP類計算整數階乘的方法介紹,具有一定的參考價值,希望對需要的朋友有所幫助!

PHP遞歸函數求階乘方法

相關焦點

  • 用java計算一個數的階乘原來這麼簡單!
    昨天給大家分享了java中的for循環,用for循環計算一千以內所以整數的和,不知大家學得怎麼樣了?for循環是一個很強大的知識點,我們會經常使用,所以今天再講一個與for循環有關的代碼,那就是計算一個數的階乘。
  • Python編程案例:計算自然數n的階乘
    阿萌又接到一個新的編程任務,要求用Python編寫一個計算自然數n階乘的程序,用於學生利用計算機來計算n的階乘。阿萌梳理了一下編程要求,他認為程序需要實現下面這些功能:程序啟動後,程序在Shell窗口輸出提示信息「請輸入一個自然數,輸入quit可退出程序:」,學生輸入一個自然數,程序計算自然數的階乘,並將計算結果輸出到Shell窗口。程序再次輸出「請輸入一個自然數:」,等待學生的下次輸入。
  • LabVIEW編程實例:計算階乘,學習for循環+移位寄存器+遞歸調用
    階乘定義非負整數n的階乘簡記為n!,在數學上定義為所有小於等於該數的正整數的乘積,並且定義0的階乘等於1,用公式表示為:n!的計算,for循環的次數為n次,移位寄存器的初始值為1,作n次乘法運算即可計算出n的階乘。注意,上圖中,當n為0時,for循環執行次數為0次,n!的輸出值直接為移位寄存器的初始值1,符合n階乘的定義。階乘求解方法2:使用遞歸調用方法實現這種方法根據階乘的遞歸方式的定義進行實現。
  • PHP mysql中limit用法詳解(代碼示例)
    源 / php中文網      源 / www.php.cn在MySQL中,LIMIT子句與SELECT語句一起使用,以限制結果集中的行數。LIMIT子句接受一個或兩個offset和count的參數。這兩個參數的值都可以是零或正整數。offset:用於指定要返回的第一行的偏移量。
  • 使用PHP Mktime實現倒計時功能
    源 / php中文網      源 / www.php.cn如果你的網頁關注的是未來的某一特定事件,比如春節、國慶或者你的婚禮,你可能想要一個倒計時計時器,讓用戶知道離事件發生還有多久。在PHP中我們可以使用時間戳和mktime函數來實現。mktime()函數用於人為地生成選定日期和時間的Unix 時間戳。它的工作原理與time()函數相同,不同之處是它用於指定的日期,而不一定是今天的日期。如何編寫倒計時計時器?
  • 數據結構-PHP 哈希表(Hash Table)的實現
    >散列表,它通過把關鍵碼值(key-value)映射到表中一個位置來訪問,以加快其查找的速度。2.哈希函數的原理下面舉幾個簡單的 哈希函數 實現原理,主要說明如何將不同類型的值轉化為一個小整數(小整數可以在數組中表示索引,即表示地址):2.1 大整數轉化為小整數(數組索引)一個最簡單的辦法是 模(mod) 一個 素數:Tips:從圖中可以看出,不同的數對一個 素數 模值區分度比較高,分布更加均勻。
  • php中計算時間差的幾種方法
    首頁 > 語言 > 關鍵詞 > php最新資訊 > 正文 php中計算時間差的幾種方法
  • 如何用PHP計算輸出從a到z的字母?(代碼詳解)
    本篇文章主要給大家介紹如何用PHP列印出從「a」到「z」的字母。在PHP面試過程中,關於用PHP輸出1到100或者某個範圍的數字,都是比較常見的問題。那麼對於PHP學習者來說,應該是比較簡單。但是對於如何輸出指定範圍內的所有字母,可能對於新手來說,可能有一定的難度,不過也是非常簡單的。下面我們就結合具體的代碼示例,給大家介紹如何用PHP列印書序從a到z的所有字母。具體代碼示例如下:<?
  • 用Python算一算n階乘的末尾有幾個零
    看到這一題,比較直觀的想法是計算從1到n的連乘,但這樣很容易溢出,因為乘起來的數字太大。換一個思路,我們將n階乘做質因數分解,將n階乘表示成其中a, m, n都是非負整數,且a不能被2和5整除。上面的表達式中,每一對2和5都貢獻了一個末尾的零,所以我們只要知道n的階乘中有多少個因子2,有多少個因子5,求兩者的最小值
  • Python如何實現超長整數
    Python必須在內部做一些漂亮的事情來支持任意大小的整數,今天我們來看看它的內部是什麼情況!表示和定義Python中的整數是一個按以下方式定義的C結構。,在長度上是可變的,這是我們對它如何支持長整數的初次印象。
  • 用PHP程序計算時間差的幾種方法
    在php中計算時間差有時候是件麻煩的事!不過只要你掌握了日期時間函數的用法那這些也就變的簡單了:一個簡單的例子就是計算借書的天數,這需要php根據每天的日期進行計算,下面就來談談實現這種日期計算的幾種方法:(1) 如果有資料庫就很容易了!若是MSSQL可以使用觸發器!用專門計算日期差的函數datediff()便可!若是MYSQL那就用兩個日期欄位的差值計算的計算結果保存在另一個數值型欄位中!用時調用便可!
  • PowerBI DAX 計算階乘的方法
    理論PowerBI DAX 中默認是沒有計算階乘的函數的。這裡給出一種在PowerBI DAX 中計算階乘的方法。在數學的定義中,對階乘的定義是這樣的:N ! =如果 N = 0 , N ! = 1;否則 N = N × ( N - 1 ) !這是一個使用遞歸的經典場景。
  • 黑馬程式設計師:PHP程式設計師必看之實現帶算術運算的驗證碼(含代碼)
    思路:大多數網站中的算術驗證碼都是整數形式的,所以我們的運算公式是這樣的加數 + 加數,被減數 - 減數,被乘數 * 乘數 無非這3種公式。類似A 【+、-、*】 B所以第一步:我們要封裝一個php函數是生成 類似A 【+、-、*】 B 的驗證碼,第二步:因為我們需要獲取用戶輸入的結果進行驗證碼判斷是否輸入正確,所以在我們生成驗證碼的同時要記錄下運算結果到伺服器中(此處存入session),第三步用戶提交驗證碼與我們存入session中的運算結果進行匹配驗證。
  • PHP Document 代碼注釋規範
    php文件或文件夾,還可以通過該指定該界面下的Files to ignore來忽略對某些文件的處理。3.2如何書寫文檔性注釋:所有的文檔性注釋都是由/**開始的一個多行注釋,在phpDocumentor裡稱為DocBlock, DocBlock是指軟體開發人員編寫的關於某個關鍵字的幫助信息,使得其他人能夠通過它知道這個關鍵字的具體用途,如何使用。 PhpDocumentor規定一個DocBlock包含如下信息:1. 功能簡述區2.
  • 你不知道的階乘與gamma函數
    但是我們有沒有思考過,如分數的階乘是如何運算的?有沒有方法估算一個數的階乘?其實,1/2的階乘等於π的平方根的一半,本文通過兩種方式來求該等式。每一種都很巧妙,看了都能開拓數學思維。一種是利用極限與多項式,一種通過gamma函數。下面我們來證明這個等式。首先,我們來證明沃利斯公式。
  • 數據結構-PHP 線段樹的實現
    }Tips:其中節點元素存儲的值需要根據業務來定,如上面代碼表示的是每個節點存儲的是 區間求和 的值,很顯然這種方式不靈活,用戶在實例化該類的時候可以傳入一個 merge 對象用於元素操作的。
  • 如何用堆計算整數流的中位數
    2.問題描述中位數(又稱中值)指一個有序數據集的中間值。對於一組整數,小於中位數的元素與大於中位數的元素一樣多。在一組有序數據集中:現在,假設輸入是數據流而非一個有限集合。可以把整數流的中位數定義為,到目前為止已讀取整數集合的中位數。
  • 實例,PHP計算一個圓的面積
    實例說明常量是PHP編程基礎的重要組成部分,其作用是定義一個不會改變的值。本例通過計算圓的面積說明常量是如何定義和使用的,運行結果如下圖所示。實現過程創建腳本 index.php 文件,首先,通過 drfine()函數定義常量。
  • 用php代碼實現在數組中追加一個全新的元素與屬性
    本文主要簡單介紹了用php代碼在一個數組中添加一個全新的元素與屬性方法 1、首先要定義一個用於測試的正常數組
  • 大學生計算機二級考試C語言中的函數入門詳解
    比如你在排列組合中需要計算5!,但是,你並不知道這個5!是什麼意思和含義,那麼你將計算不出來。而如果我告訴你5!表示5的階乘,其計算方法就是從5開始一直乘到1就是最後的計算結果,那麼你就能計算出來5!了。而我告訴你的這個計算方法和過程就是計算機中的算法!