#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> int main() { long long m, n,a;//题目有范围要求,所以用long long long long max, min ; long long b; scanf("%lld %lld",&m, &n);//接受数据m,n if (m < n)//保持m为大者,n为小者 { a = m; m = n; n = a; } max = m; min = n; do { //辗转相除法,m作为被除数,n作为除数,所以m是最大公约数 a = m % n;//a为余数 m = n; n = a; } while (a != 0);

b = max * min / m;//公式:两个数的乘积=两个数的最大公约数*最小公倍数 b += m; printf("%lld", b); return 0; }