php如何实现俄罗斯乘法

php如何实现俄罗斯乘法

小编给大家分享一下php如何实现俄罗斯乘法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

具体分析如下:

一、概述:

俄罗斯乘法是一种计算两数相乘的算法。
举例如下:
计算 35*72
过程
35 72
17 144
8 288
4 576
2 1152
1 2304
从上到下,对每一行,若左边的数字若为奇数,则将右边的数字取出,累加。
72+144+2304=2520
累加的结果2520即为乘积。

二、实现代码:

<?php
function russian($m, $n, $res = 0){
  (1 == ($n & 1)) && $res += $m;
  $m = $m << 1;
  $n = $n >> 1;
  return $n ? russian($m, $n, $res) : $res;
}
echo russian(7, 8);

以上是“php如何实现俄罗斯乘法”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!