求两个数的最小公倍数

Posted 林小雨

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求两个数的最小公倍数相关的知识,希望对你有一定的参考价值。

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

/*
    求最小公倍数
*/
vector<int> Decomposition(int digit)
{
    int actor = digit;
    vector<int> arr;
    for (int i = 2;i < digit;i ++)
    {
        while (actor % i == 0)
        {
            actor = actor / i;
            arr.push_back(i);
        }
    }
    arr.push_back(1);
    return arr;
}


vector<int> Get(vector<int> first,vector<int> second)
{
    vector<int> result;
    sort(first.begin(),first.end());
    sort(second.begin(),second.end());
    set_union(first.begin(),first.end(),second.begin(),second.end(),back_inserter(result));
    return result;
}

void Display(vector<int> such)
{
    for (int i = 0;i < such.size();i ++)
    {
        cout<<such[i]<<" ";
    }
    cout<<endl;
}

int Common(int digit_one,int digit_two)
{
    int result = 1;
    vector<int> first= Decomposition(digit_one);
    vector<int> second= Decomposition(digit_two);
    vector<int> beauty = Get(first,second);
    /*
    Display(first);
    Display(second);
    Display(beauty);
    */
    for (int i = 0;i < beauty.size(); i ++)
    {
        result = result * beauty[i];
    }
    cout<<result<<endl;
    return result;
}


int main()
{
    Common(45,30);
    return 0;
}

 

以上是关于求两个数的最小公倍数的主要内容,如果未能解决你的问题,请参考以下文章

求两个数的最小公倍数

C语言求两个数的最大公约数和最小公倍数代码,为啥这里输出最大公约数的会输出两遍,初学者求详细解答

C++求两个数的最小公倍数—枚举法

如何求两数的最大公约数?

求两个数的最大公约数和最小公倍数

JavaScript 如何求两个数的最小公倍数