最大公约数用辗转相除法,最小公倍数用小数乘以大数除以最大公约数
注意取值范围,所以用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; }