绝地求生(pubg)

绝地求生(pubg)

https://ac.nowcoder.com/acm/problem/19284

题目

求最少要拾取多少个子弹到背包中,使得背包里的子弹个数恰好是 x 的倍数且是 y 的倍数。

解题思路

xy 的最小公倍数。
先求 xy 的最大公因数 k = __gcd(x,y),则最小公倍数为 x * y / k

C++代码

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

typedef unsigned long long ULL;

int main(){
    int t;
    cin >> t;
    ULL x, y;
    for(int i=1; i<=t; ++i){
        cin >> x >> y;
        ULL k = __gcd(x,y);
        ULL ans = x / k * y;
        cout << "Case " << i << ": " << ans << endl;
    }
    return 0;
}
全部评论

相关推荐

点赞 评论 收藏
分享
11-03 14:38
重庆大学 Java
AAA求offer教程:我手都抬起来了又揣裤兜了
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务