C ++程序实现俄罗斯农民增收乘法
俄罗斯农民增收算法将两个数字相乘。这是计算两个长整数相乘的快速算法。
算法
Begin
Russianpeasant(num1, num2)
Int result=0
while (num2 > 0)
if (num2 and 1)
result = result + n;
num1= num1 left shift 1;
num2= num2left shift 1;
return result
End范例程式码
#include <iostream>
using namespace std;
unsigned int russianPeasant(unsigned int n, unsigned int m) {
int result = 0;
while (m > 0) {
if (m & 1)
result = result + n;
n = n << 1;
m = m >> 1;
}
return result;
}
int main() {
cout << russianPeasant(10, 20) << endl;
cout << russianPeasant(7, 6) << endl;
return 0;
}输出结果
200 42
热门推荐
3 祝福语简短的微信
10 幼儿祝福语大全简短贺卡
11 感谢教官文案祝福语简短
12 鼠年同事祝福语简短创意
13 元旦祝福语 简短独特群发
14 妈咪跟我生日祝福语简短
15 给儿子新婚祝福语简短
16 伴娘祝福语长文案简短
17 恭喜高考完祝福语简短
18 生日祝福语送老公简短