math get - 在PHP中如何劃分沒有餘數的數字?



meta tags (6)

如何劃分數字但排除PHP中的餘數?


Answers

對於大多數實際目的,接受的答案是正確的。

但是,對於整數為64位寬的構建,並非所有可能的整數值都可表示為雙精度浮點數; 有關詳細信息,請參閱我對已接受答案的評論

變種

$n = ($i - $i % $m) / $m;

(根據另一個答案從KingCrunch的評論中獲取的代碼)將根據所需的捨入行為避免此問題(請記住,模數運算符的結果可能是負數)。


只需將結果值轉換為int。

$n = (int) ($i / $m);

有趣的函數(取決於你想要實現的目標,如果你期望負整數被分開)是floor()ceil()round()


在php中使用modulo:

$n = $i % $m;

PHP 7為這個命名的intdiv提供了一個新的內置函數。

例:

$result = intdiv(13, 2);

此示例中$result的值為6

您可以在PHP文檔中找到此函數的完整文檔


或者你可以做intval(13/2)給6


你可以通過閱讀Muthukrishnan的幾頁- 數據流算法:謎題1:尋找缺失的數字來找到它。 它顯示了你正在尋找的概括 。 可能這就是你的面試官閱讀的內容,以及他為什麼提出這些問題。

現在,如果只有人會開始刪除被Muthukrishnan的處理所包含或取代的答案,並且使這個文本更容易找到。 :)

另請參閱sdcvvc's直接相關答案 ,其中還包括偽代碼(歡呼!不需要閱讀那些棘手的數學公式:))(謝謝,很棒的工作!)。





php math division