PHP代码古埃及乘法javascript

时间:2016-05-08 07:57:21

标签: javascript php

算法如下。如果A和B是2个整数(只有整数) 乘以,我们反复将A乘以2并将B除以2,直到B. 不能进一步分割,直到它的值变为0(记住, 这是整数除法)。在每个步骤中,每当B是奇数时, 我们将相应的A值添加到我们正在生成的产品中。在里面 结束,具有相应奇数B值的A值之和为 产品。得到它?

以下是一个例子:

如果要乘的两个整数是34和19,则操作将是:

A       B       Comment

34     19       add A to the product, B is odd
68      9        add A to the product, B is odd
136    4        ignore this A value, B is even
272    2        ignore this A value, B is even
544    1        add A to the product, B is odd

总结所有具有奇数B值的A值,得到:

34 + 68 + 544 = 646 =>最终产品

1 个答案:

答案 0 :(得分:0)

正如你的算法所说的那样。

$a = 34; 
$b = 19;

$total = 0;
do{
    $mod = $b % 2;
    if($mod){
        $total = $total + $a;
    }
    echo $mod." - ".$a." - ".$total . "<br/>"; //Steps
    $a = $a * 2;
    $b = floor($b/2);
}while($b > 0);
echo $total; // 646

<强>步骤:

Mod       $a         $total
---------------------------
1     -   34     -   34
1     -   68     -   102
0     -   136    -   102
0     -   272    -   102
1     -   544    -   646