【减治法】俄式乘法及C++代码实现
来源:互联网 发布:吸毒到底有多恐怖 知乎 编辑:程序博客网 时间:2024/04/29 12:25
一、算法原理
俄式乘法,又被称为俄国农夫法,它是对两个正整数相乘的非主流算法。假设m和n是两个正整数,我们要计算它们的积。它的主要原理如下:
①当n为偶数时:
n * m=n/2 * 2m
②当n为奇数时:
n * m=(n-1)/2 * 2m + m
并以1*m=m作为结束条件。
n*m步骤如下:
sum=130+1040+2080=3205
二、代码实现
#include <iostream> using namespace std; int main() { int russia(int x,int y); int n,m; cin>>n>>m ; cout<<russia(n,m)<<endl; return 0; } int russia(int x,int y) { if(x==1) { return y; } if(x%2!=0) { return russia((x-1)/2,y*2)+y; } else return russia(x/2,y*2); }
阅读全文
0 0
- 【减治法】俄式乘法及C++代码实现
- 【C++】俄式乘法
- 俄式乘法
- 俄式乘法
- OJ.俄式乘法
- swustoj俄式乘法(0642)
- 99乘法表及杨辉三角C代码实现
- 快速幂和俄式乘法
- C语言实现大整数乘法代码的完整代码及运行结果
- MapReduce实现大矩阵乘法及代码实现
- MapReduce实现大矩阵乘法及代码实现
- 乘法表c代码
- 大数乘法实现代码
- 大数乘法C实现
- karatsuba乘法及相关实现
- 矩阵乘法C语言实现
- C语言实现矩阵乘法
- C语言实现矩阵乘法
- KVC和KVO底层原理
- 坑一 执行多线程时多次执行CPU满负荷
- MyEclipse安装JS代码提示(Spket插件)
- javascript中使用splice删除数组的问题
- 数据结构实验之二叉树三:统计叶子数
- 【减治法】俄式乘法及C++代码实现
- 递归---案例(小游戏poj1101)
- luogu 1091 合唱队形
- Unity图片格式
- 抽象类中的数据
- [转载]服务化框架技术选型与京东JSF解密
- 为jqgrid添加统计金额页脚
- Tomcat使用常见问题,闪退、端口号被占用
- java基础-数据容器之集合List