c++程序设计:求两个整数的最大公约数(用两种方法实现,辗转相除法除外)

如题所述

第1个回答  2016-01-19
#include "stdio.h"
int Gcd01(int a, int b)
{
int M, m;
int i, g;
M = a > b ? a : b;
m = a < b ? a : b;
for(i = 1; i <= m / 2; i++)
{
if((m % i) == 0)
{
g = m / i;
if((M % g) == 0)
return g;
}
}
return 1;
}

int Lcm(int a, int b)
{
int M, m, lcm;
M = a > b ? a : b;
m = a < b ? a : b;
lcm = M;
while(lcm % m != 0)
lcm += M;
return lcm;
}

int Gcd02(int a, int b)
{
return ((a * b) / Lcm(a, b));
}

void main( )
{
int a, b;
scanf("%d %d", &a, &b);
printf("\n最大公约数为: %d", Gcd01(a, b));
printf("\n最大公约数为: %d", Gcd02(a, b));
}
第2个回答  2016-01-08
哥哥我的是自己写的哦,怎么给你呢。追问

拍照给我吧

追答

+++w 帮你

相似回答