#include <stdio.h>
int Mul(int n, int m)
{
int sum = 0, a = 0;
if (n == 0 || m == 0)
return 0;
if (n == 1)
return m;
while (n != 1)
{
if (n % 2 == 0)
{
n = n / 2;
m *= 2;
}
else
{
n = n / 2;
a += m;
m *= 2;
}
}
sum = a + m;
return sum;
}
void main()
{
int m, n; //两个相乘的数
int sum = 0;
printf("请输入两个相乘的正整数:\n");
scanf("%d %d", &m, &n);
sum = Mul(n, m);
printf("乘积是:%d\n", sum);
}
俄罗斯农夫乘法(减治法)
最新推荐文章于 2020-08-06 11:20:48 发布