php实现俄罗斯乘法实例

yipeiwu_com6年前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程序设计有所帮助。

相关文章

解析PHP计算页面执行时间的实现代码

如下所示:复制代码 代码如下:<?php  $t = new executeTime;  phpinfo();  class executeTime{...

在PHP中检查PHP文件是否有语法错误的方法

之前在当当的时候的一个项目中用到了一个简单的模板引擎,其实也是借鉴discuz来做的模板引擎,很简单,它所作的事情就是把一些自定义的标签编译成php代码。已经说了很简单了,所以编译的时候...

全面解析PHP验证码的实现原理 附php验证码小案例

拓展 我们需要开启gd拓展,可以使用下面的代码来查看是否开启gd拓展。 <?php echo "Hello World!!!!"; echo phpinfo();...

PHP中array_map与array_column之间的关系分析

本文以实例形式分析了PHP中array_map与array_column之间的关系,具体分析如下: array_map()与array_column()用法如下: array_map()...

深入探究PHP的多进程编程方法

子进程的创建 一般的子进程的写法是: <?php $pid = pcntl_fork(); if($pid == -1){ //创建失败 die('...