📄 main.cpp
字号:
# include <iostream.h>
// a la russe(俄罗斯式)乘法算法:
// 把乘数和被乘数并排写在一起,每个操作数一列。
// 将左边操作数整除2,在该操作数下面写下商;
// 将右边操作数乘以2,在该操作数的下面写下积。
// 以上一次的商和积作为操作数重复以上规则,直到左边操作数为1为止。
// 接着把左列中商为偶数的行全部删除,最后把右列中剩下的数字加起来就得到结果。
// 优点:不用保存乘法表,只需知道如何进行加法、如何把一个数整除以2。
//981 1234 1234
//490 2468
//245 4936 4936
//122 9872 9872
// 61 19744 19744
// 30 39488
// 15 78976 78976
// 7 157952 157952
// 3 315904 315904
// 1 631808 631808
// _______
// 1210554
// a la russe乘法
int russe(int m, int n)
{
int result = 0;
while (m > 0) //until m = 1
{
if (m%2 == 1) //m is odd
{
result += n;
}
m /= 2;
n = n + n;
}
return result;
}
int main()
{
int m, n;
cin >> m >> n;
cout << m << "*" << n << "=" << m*n << endl;
int product = russe(m, n);
cout << "product = " << product << endl;
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -