//**************************************************************************************************** // // 求两个自然数的最小公倍数 - C++ - by Chimomo // // 最小公倍数 = 两数的乘积 / 最大公约数 // //**************************************************************************************************** #include <iostream> #include <cassert> #include <stack> #include <math.h> using namespace std ; int GreatestCommonDivisor(int a, int b) { int temp; if(a < b) { // 交换两个数。使大数放在a的位置上。 temp = a; a = b; b = temp; } while(b != 0) { // 利用辗转相除法,直到b为0为止。 temp = a % b; a = b; b = temp; } return a; } int LeastCommonMultiple(int a, int b) { int temp = a * b / GreatestCommonDivisor(a, b); return temp; } int main() { cout << LeastCommonMultiple(318, 87632) << endl; return 0; } // Output: /* 13933488 */