最大公约数用辗转相除法,最小公倍数用小数乘以大数除以最大公约数
注意取值范围,所以用long int
#include <stdio.h>
long int maxgcd(long int a,long int b){
while(a % b != 0){
long int i = a%b;
a = b;
b = i;
}
return b;
}
long int maxlcm(long int a,long int b){
long int c = a*b;
return c;
}
int main(){
long int m,n;
scanf("%ld %ld",&m,&n);
if(m<n){
long int i = m;
m = n;
n = i;
}
long int a = maxgcd(m,n);
long int b = maxlcm(n,m/a);
printf("%ld",a+b);
return 0;
}



京公网安备 11010502036488号