题解 | #求最小公倍数#
求最小公倍数
https://www.nowcoder.com/practice/22948c2cad484e0291350abad86136c3
#include <iostream> #include <cmath> using namespace std; int min_multiple(int a, int b, int inp1, int inp2){ if(a < b && (b % a == 0)){ return b; } else if(b < a && (a % b == 0)){ return a; } else if(a == b){ return b; } if(a < b && (b % a != 0)){ return min_multiple(a+inp1,b,inp1,inp2); } else if(b < a && (a % b != 0)){ return min_multiple(a,b+inp2,inp1,inp2); } return 0; } int main() { int a, b; cin >> a >> b; cout << min_multiple(a,b,a,b) << endl; return 0; } // 64 位输出请用 printf("%lld")
题目中提示使用递归,按照递归的思路就是寻找公倍数的情况,除了基本的判断并返回外,还需要改变元素,就是每次给较小的加上其原本的值知道找到公倍数。