php实现俄罗斯乘法实例

yipeiwu_com5年前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优化的理解。优化的目的是花最少的代价换来最快...

php缩放图片(根据宽高的等比例缩放)实例介绍

推荐一个简单实用的缩放图片工具 SimpleImage,参考http://www.white-hat-web-design.co.uk/blog/resizing-images-with...

PHP使用 Imagick 扩展实现图片合成,圆角处理功能示例

本文实例讲述了PHP使用 Imagick 扩展实现图片合成,圆角处理功能。分享给大家供大家参考,具体如下: 需求:为用户生成特定的二维码 ,拉取用户的微信头像 和特定的背景图合成一张用户...

php采用curl实现伪造IP来源的方法

本文实例讲述了php采用curl实现伪造IP来源的方法。可以实现伪造IP来源, 伪造域名, 伪造用户信息,分享给大家供大家参考。具体实现方法如下: 定义伪造用户浏览器信息HTTP_USE...

PHP获取数组中某元素的位置及array_keys函数应用

众所周知,PHP自身内置了很多函数,这也是使用PHP能够极大提高开发效率的一个重要原因,获取数组中一元素的位置有很多方法,其中PHP自身就已经内置了一个函数array_keys(),下边...