**

乘法的计算-俄罗斯农夫法

**

假设我想计算35乘以47的乘积是多少,根据俄罗斯农夫法的算法规则有:

1. 选取两者中较小数并减去一半,舍去余数得到:

2.把较大的数每次乘以2再生成一列数。

3.划掉左侧第一列为偶数的所有行

4.把右列中剩余的数相加即可得到两数相乘的结果了

47+94+1504=1645=35*47

这种算法在计算两数相乘的结果时,只用到了乘以2、除以2和求和运算。对于计算机计算而言,乘以2,除以2能够方便的使用左移和右移实现。

用Java代码实现

public static int quickMulti(int A,int B){int ans = 0;while(B!=0){//如果B为奇数,则和加Aif((B&1)==1){ans = ans + A;}//给B除以2,A乘以2B = B>>1;A = A<<1;}return ans;}
//分配率
//B为奇数(Ax2)(B/2)数学中的表示--->(Ax2)(B/2)+A计算机中的表示
//B为偶数(Ax2)(B/2)

参考文献《极简数学》 克里斯.韦林

乘法的计算-俄罗斯农夫法相关推荐

  1. Cache总容量计算与写回法联合使用

    Cache总容量计算与写回法联合使用 @(组成原理) (2015.15)假定主存地址为32位,按字节编址,主存和Cache之间采用直接映射方式,主存块大小为4个字,每字32位,采用写回(Write B ...

  2. 矩阵乘法的计算和来源

    矩阵乘法的计算 矩阵,是线性代数中的基本概念之一.一个m×n的矩阵就是m×n个数排成m行n列的一个数阵. 矩阵乘法是一种高效的算法可以把一些一维递推优化到log(n),还可以求路径方案等,所以更是一种 ...

  3. 锂电池电量百分比计算_锂离子电池容量计算之电压法

    锂离子电池容量计算之电压法 锂离子电池开路电压与电池容量的对应关系分析 先给出一个表格 : 如下 , 百分比是电池的剩余容量 , 右侧是对应的电池的开路电压 (OCV).  100%--- ...

  4. 你知道几种乘法的计算方式?

    前言 家里有本<算法详解>一直没有看,昨天晚上打开翻了翻,觉得写的挺有趣的,第一章讨论了一个大家都学过的内容,乘法的计算.大部分人计算乘法,应该都只有一种方式,乘法的计算,也算是一种算法, ...

  5. 卷径计算(厚度累计法/膜厚叠加法)

    卷径计算的截面积法请参看下面的文章链接: 卷径计算详解(通过卷绕的膜长和膜厚进行计算)_RXXW_Dor的博客-CSDN博客有关卷绕+张力控制可以参看专栏的系列文章,文章链接如下:变频器简单张力控制( ...

  6. 矩阵乘法的计算规则,为什么是A矩阵的行元素分别乘以B矩阵的列元素?

    转:https://www.cnblogs.com/alantu2018/p/8528299.html Matrix 相关api: https://blog.csdn.net/gb702250823/ ...

  7. 荒野之息-用乘法打造开放世界玩法

    原视频:Breaking Conventions with The Legend of Zelda: Breath of the Wild 概述 塞尔达荒野之息以其极其自由的开放世界深受许多玩家的喜爱 ...

  8. 九九乘法表c语言枚举法,小学枚举法教案

    1.#define 宏常量是在预编译阶段进行简单替换,枚举与#define宏的区别.枚举常量则是在编译的时候确定其值.2.一般在编译器里,可以调试枚举常量,但是不能调试宏常量.3.枚举可以一次定义大量 ...

  9. Python在GF(2⁸)有限域上求解多项式的乘法逆元——基于扩展欧几里得算法

    文章目录 一.前言 二.数学基础 1.GF(2⁸)有限域内的多项式 2.不可约多项式 3.多项式模运算 3.乘法逆元 三.算法步骤 1.扩展欧几里得算法 2.多项式除法 3.多项式乘法 四.代码实现 ...

  10. 乘法逆元、扩展欧几里得算法、二元一次方程、a的n次方取余

    知识点:乘法逆元,逆元的求法,二元一次方程求通解,a的n次方求余数 一,乘法逆元 乘法逆元的概念类似于倒数(ax=1,a−1=xax=1,a^{-1}=x),不过是在取余数的情况下的倒数. 如果(a× ...

最新文章

  1. gitignore完整使用方法
  2. StringBuffer类和String 类的 equals 和 ==
  3. asp.net下向数据库存储和读取图片示例
  4. nullnullC++ LANGUAGE TUTORIAL: CHARACTER ARRAYS...
  5. python金融衍生品_《Python金融衍生品大数据分析:建模、模拟、校准与对冲(博文视点出品)》【摘要 书评 试读】- 京东图书...
  6. 机器学习模型的理解(三)
  7. const应用(C、C++)
  8. 8月| R社区原创作者免费赠书
  9. ThinkBook 14P Win11网卡驱动掉了-解决方案
  10. c++哈利波特游戏(流行的版本的破解版)
  11. 服务器打开显示选择键盘布局,更改服务器上的TTY键盘布局?
  12. nginx proxy_temp 文件夹权限问题
  13. 大数据去重解决方案总结
  14. android10手机运行内存怎么查看,安卓手机怎么查看手机内存
  15. 网络舆情源头管理方案
  16. 无法从命令行或调试器启动服务,必须首先安装Windows服务....。在“安装”阶段发生异常。 System.Security.SecurityException:未找到源
  17. Python中IO概述
  18. unity 等待...动画_介绍Unity 2019.1的动画索具预览包
  19. 广域网技术--帧中继
  20. Ubuntu18.04配置静态ip后发现ping不通百度

热门文章

  1. 正三角形二面体群表示为二阶矩阵形式
  2. [转]二阶巴特沃斯(Butterworth)滤波器
  3. 第九届全国大学生机械设计创新大赛基于STM32F407的HMI USART串口屏智能药箱设计
  4. 讲解:微信内直接打开第三方app
  5. Close 和 Dispose 方法到底有什么不同?
  6. Android Unable to find source java class:<File>because it does not belong to any of the source dirs:
  7. 计算机f2锁定用户,台式电脑键盘被锁住按什么键恢复 点锁定直接锁定计算机
  8. NOI-Linux使用技巧
  9. 小米路由器显示网络未连接到服务器,小米路由器异常排查的常见问题与使用技巧...
  10. Outlook的服务器设置中POP3协议,在outlook的服务器设置中POP3协议是指