绝地求生(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;
}
全部评论

相关推荐

牛客刘北:如果暑期实习是27届的话,你要晚一年才会毕业,企业为什么会等你呢?要搞清时间逻辑呀!27届现在实习只能是在暑假实习,这是日常实习,不是暑期实习。所以多去投日常实习吧,暑期实习肯定不会要你的
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务