杭电ACMOJ 最小公倍数 Easy *又掉到了质因子和最大公因数的坑里
基本思想:
还是在注意一下,最大公因数和质因子没啥关系,最大公因数可以是合数;
最大公因数求法:辗转相除;
最小公倍数求法:m*n/最大公因数;
关键点:
无;
#include<string> #include<iostream> #include<vector> using namespace std; const int maxn = 1010; vector<int>vec; bool vis[maxn]; int findmin(int n,int m) { //寻找最大公约数 //默认a>b; if (m == 0) { return n; } return findmin(m, n%m); } int charge(int n,int m) { int index = -1; if (n > m) index = findmin(n, m); else index = findmin(m, n); return (m*n)/index; } int main() { int n, m; while (cin >> n >> m) { cout<<charge(n, m)<<endl; } return 0; }