亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

php中的整數除法系統問題

php中的整數除法系統問題

PHP
慕無忌1623718 2023-09-15 21:10:45
我在整數除法腳本中遇到問題。我想要的是,如果我們將 8 分為 3 部分。它應該顯示所有四舍五入的數字。比如,3,3,2 如果我們將這 3 相加,結果就是 8。但以下腳本的劃分存在一些差異。它除以 2,2,4。也是 8。但我喜歡上面的 1。請任何人在這種情況下提供幫助。這是代碼。$numbertodivise = 8;$no = 3;$intnumber = intval($numbertodivise / $no);$rem = $numbertodivise % $no;$array = [];for($i=1;$i<=$no;$i++) {    if($i==$no) {        $array[] = $intnumber + $rem;    } else {        $array[] = $intnumber;    }}print_r($array);它的輸出是Array ( [0] => 2 [1] => 2 [2] => 4 )請幫我把它做成這樣Array ( [0] => 3 [1] => 3 [2] => 2 )8不是固定整數。它將是動態的.. 8,9,19,22,88,9888,任何數字都可以。
查看完整描述

3 回答

?
天涯盡頭無女友

TA貢獻1831條經驗 獲得超9個贊

編輯 將其更改$turn為$noin for 循環。您可以將其用于任何號碼。


<?php

    $numbertodivide = 8;

    $no = 3;

    $array = [];

    $added=0;//initialize the variable to track added number to make the given number divisible

    while($numbertodivide%$no){

        $numbertodivide+=1;

        $added++;

    }

    $turn=$numbertodivide/$no;//get how many times we have to repeat the divider to get the given number

    for($i=0;$i<$no-1;$i++){

        $array[]=$turn;

    }

    $array[]=$turn-$added;//trim the added number from the last input of the number.

?>


查看完整回答
反對 回復 2023-09-15
?
墨色風雨

TA貢獻1853條經驗 獲得超6個贊

intval()向下舍入。您想要四舍五入,所以使用ceil().


$intnumber = ceil($numbertodivise / $no);

$rem = $numbertodivise % $intnumber;


$array = array_fill(0, $no, $intnumber);

if ($rem != 0) {

    $array[count($array)-1] = $rem;

}


查看完整回答
反對 回復 2023-09-15
?
嚕嚕噠

TA貢獻1784條經驗 獲得超7個贊

無需循環。使用您的變量:


$count = ceil($numbertodivise / $no);

$rem = $numbertodivise - ($no * ($count-1));

$array = array_fill(0,$count-1,$no);

$array[] = $rem;

結果:


Array

(

    [0] => 3

    [1] => 3

    [2] => 2

)


查看完整回答
反對 回復 2023-09-15
  • 3 回答
  • 0 關注
  • 163 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號