PHP之俄罗斯乘法的实现方法

2015-03-11  来源:互联网  

本文实例讲述了PHP之俄罗斯乘法的实现方。分享给大家供大家参考,具体分析如下:

一、概述:

俄罗斯乘法是一种计算两数相乘的算法。

举例如下:

计算 35*72

过程

35 72

17 144

8 288

4 576

2 1152

1 2304

从上到下,对每一行,若左边的数字若为奇数,则将右边的数字取出,累加。

72+144+2304=2520

累加的结果2520即为乘积。

二、实现代码:

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);
[本站声明] 本网站部分文章来源于网络,如有侵权请来邮(woyaoshouc[email protected])告知,本网站将进行更正处理。
  • 相关阅读
热门标签: PHP  俄罗斯  俄罗斯乘法
推荐文章
热门文章