php实现俄罗斯乘法实例

yipeiwu_com7年前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来限制每个ip每天浏览页面数量的实现思路

实现思路:首先,创建一个表,比如下面的 复制代码 代码如下:   CREATE TABLE ip_log   (   ip_log_ip VARCHAR(40),   ip_log_da...

php中error与exception的区别及应用

error与exception的区别查阅网上资料大多是java的解释,貌似php的异常处理过程与java差不多 java中的Object继承结构如下: Object---->Th...

PHP使用 Pear 进行安装和卸载包的方法详解

PHP使用 Pear 进行安装和卸载包的方法详解

本文实例讲述了PHP使用 Pear 进行安装和卸载包的方法。分享给大家供大家参考,具体如下: 安装: 首先运行到php根目录: 输入要安装的包文件名: 使用语法: pear...

Discuz! 5.0.0论坛程序中加入一段js代码,让会员点击下载附件前自动弹出提示窗口

你需要修改attachment.php文件 在根目录下  在$attachexists = $ispaid = FALSE;下...

Zend Framework中的简单工厂模式 图文

Zend Framework中的简单工厂模式 图文

前段时间用来ZF,把他当黑盒感觉不是很好,一直有看其源码的冲动,但是。。。如果一点一点点看的话,挑战确实有些大了。某天又然后想到好久没复习设计模式了。综合一下,复习一个设计模式之后在ZF...