gpt4 book ai didi

php - 如何在 PHP 中表示乘法

转载 作者:搜寻专家 更新时间:2023-10-31 21:03:20 25 4
gpt4 key购买 nike

可以在 php 中表示数学乘法步骤。我试过了但是我无法显示我刚刚得到的总和和进位的完整步骤以及我想要得到的结果。

例如:-

    4  2  0
x 5 2
-----------
8 4 0
2 1 0 0
-------------
2 9 4 0

这是我的 php 代码。

        $data = array(
'digit1' => $_POST['value1'],
'digit2' => $_POST['value2'],
'digit3' => $_POST['value3'],
'digit4' => $_POST['value4'],
'digit5' => $_POST['value5']
);

# ------------------------------------------------------------
$product = $data['digit5'] * $data['digit3'];
$a = $product % 10;
$carry = floor($product / 10);

$product = ($data['digit5'] * $data['digit2']) + $carry;
$b = $product % 10;
$carry = floor($product / 10);

$product = ($data['digit5'] * $data['digit1']) + $carry;
$c = $product;
#-------------------------------------------------------------
$product = $data['digit4'] * $data['digit3'];
$d = $product % 10;
$carry = floor($product / 10);

$product = ($data['digit4'] * $data['digit2']) + $carry;
$e = $product % 10;
$carry = floor($product / 10);

$product = ($data['digit4'] * $data['digit1']) + $carry;
$f = $product;
#-------------------------------------------------------------
$x = intval($c . $b . $a);
$y = intval($f . $e . $d) * 10;
#-------------------------------------------------------------

echo sprintf("%' 10d\n", $c ." " .$b . " ".$a);
echo "<br/>";
echo sprintf("%' 9d\n", $f. " " .$e ." ". $d);
echo "<br/>";
echo "----------\n";
echo "<br/>";
echo sprintf("%' 10d\n", $x + $y);

这是我的html

<form method="POST" action="ui.php">
<input type="textbox" name="value1"/>
<input type="textbox" name="value2"/>
<input type="textbox" name="value3"/>
<input type="textbox" name="value4"/>
<input type="textbox" name="value5"/>
<input type="Submit" name="Submit"/>

最佳答案

如果您使用 str_split() 将被乘数转换为值数组,则可以使用 pow() 函数计算每一行。

<?php
$multiplier = 420;
$multiplicand = 52;
$result = $multiplier * $multiplicand;
$pad_max = strlen($result);

$multiplicand_values = str_split($multiplicand);

echo str_pad($multiplier, $pad_max, " ", STR_PAD_LEFT) . PHP_EOL;
echo str_pad("x" . $multiplicand, $pad_max, " ", STR_PAD_LEFT) . PHP_EOL;
echo str_pad("-", $pad_max, "-", STR_PAD_LEFT) . PHP_EOL;


for($i = 0; null !== ($digit = array_pop($multiplicand_values)); ++$i)
{
echo str_pad($multiplier * $digit * pow(10, $i), $pad_max, " ", STR_PAD_LEFT) . PHP_EOL;
}

echo str_pad("-", $pad_max, "-", STR_PAD_LEFT) . PHP_EOL;
echo str_pad($result, $pad_max, " ", STR_PAD_LEFT) . PHP_EOL;

关于php - 如何在 PHP 中表示乘法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37332303/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com