问题链接:HDU1108 最小公倍数。
问题简述:参见上述链接。
问题分析:
根据欧几里德算法计算最大公约数。基于最大公约数计算最小公倍数。
程序说明:(略)。
AC的C++语言程序如下:
/* HDU1108 最小公倍数 */ #include <iostream> using namespace std; // 非递归计算最大公约数 long gcd(long m, long n) { for(;;) { if(n == 0) return m; long temp = m % n; m = n; n = temp; } } // 计算最小公倍数 long lcm(long a, long b) { // return a * b / gcd(a, b); return a / gcd(a, b) * b; } int main() { long n, m; while(cin >> n >> m) cout << lcm(n, m) << endl; return 0; }