华为机试 HJ108题解 | #求最小公倍数#

求最小公倍数

https://www.nowcoder.com/practice/22948c2cad484e0291350abad86136c3

#include <iostream>
#include <cmath>
#include <algorithm>
#include <bits/stdc++.h>
using namespace std;

// 求a和b的最小公倍数
// 先求a和b的最大公约数m
int GetMinBeiShu(int a, int b)
{
    int minBeiShu;
    int x = a * b;
    // 求a和b的最大公约数
    int yueShu = 1; // 默认为1
    int min = std::min(a, b);
    int max = std::max(a, b);
    for (int n = 1; n <= max; n++) {
        if (a % n == 0 && b % n == 0) {
            yueShu = n;
        }
    }
    return a * b / yueShu;
}

int main() {
    int a, b;
    while (cin >> a >> b) { // 注意 while 处理多个 case
        cout << GetMinBeiShu(a, b) << endl;
    }

    return 0;
}
// 64 位输出请用 printf("%lld")

全部评论

相关推荐

无情咸鱼王的秋招日记之薛定谔的Offer:好拒信,偷了,希望有机会用到
点赞 评论 收藏
分享
点赞 评论 收藏
分享
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务