⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.cpp

📁 a la russe算法
💻 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 + -