题解 | #求最小公倍数#

求最小公倍数

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

1、暴力求解法

从大的数字开始,逐个判断,能够被两个数都整除的第一个数就是最小公倍数;

#include <iostream>
using namespace std;

int main() {
    int a, b;
    while (cin >> a >> b) {
        int n=max(a,b);
        while(1){
            if((n%a==0)&&(n%b==0)){
                break;
            }
            n++;
        }
        cout<<n<<endl;
    }
}

2、更优解法

先计算出最大公约数:辗转相除法;

最小公倍数=两数相乘再除以最大公约数

int yue(int a,int b){
    int c=0;
    while(c = a%b){
        a=b;
        b=c;
    }
    return b;
}

int main() {
    int a, b;
    while (cin >> a >> b) {
        cout<<(a*b)/yue(a,b)<<endl;
    }
}

全部评论

相关推荐

挣K存W养DOG:他真的很中意你,为什么不回他
点赞 评论 收藏
分享
10-07 20:48
门头沟学院 Java
听说改名就会有offer:可能是实习上着班想到后面还要回学校给导师做牛马,看着身边都是21-25的年纪,突然emo了了
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务