3047. 最小公倍数

Li Dao

对的,最小公倍数就是a*b/gcd(a,b) ,其中gcd是最大公约数

include

using namespace std;

define LL long long

int T;

LL gcd(LL aa,LL bb)
{
if(aa>a>>b;
cout<<a*b/gcd(a,b)<<endl;
return;
}

int main()
{
scanf(“%d”,&T);
for(int step=0;step<T;step++)
{
printf(“case #%d:\n”,step);
solve();
}
return 0;
}

Deuchie

为什么OJ告诉我说这是一道难题??????

一开始给我吓得还以为要用高精度??????

lcm()的最佳做法是先求出gcd、把两个数除以gcd,最后相乘。

(下面是快乐做法,和用pypy的老哥都很快乐)

#include <iostream>
#include <numeric>
using namespace std;

int main() {
    ios::sync_with_stdio(0);
    cin.tie(0);
    int t;
    cin >> t;
    for (int i = 0; i < t; ++i) {
        unsigned long long a, b;
        cin >> a >> b;
        cout << "case #" << i << ":\n" << lcm(a, b) << '\n';
    }
}
你当前正在回复 博客/题目
存在问题!