Cod sursa(job #3166609)

Utilizator TonyJoaca25Ierima Anton TonyJoaca25 Data 9 noiembrie 2023 09:26:41
Problema Multiplu Scor 10
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.91 kb
#include <fstream>
#include <iostream>
#include <queue>
#include <vector>

using namespace std;

int n = 1;
vector<int> sol;

int cmmdc(int d, int i)
{
    int r;

    do
    {
        r = d % i;
        d = i;
        i = r;
    } while (r != 0);
    return d;
}

int cmmmmc(int a, int b) { return (a * b) / cmmdc(a, b); }

int main()
{
    ifstream fin("multiplu.in");
    ofstream fout("multiplu.out");

    int A, B;
    fin >> A >> B;

    int M = cmmmmc(A, B); // Calculam cel mai mic multiplu comun pentru A si B
    bool found = false;
    vector<int> q;
    q.push_back(1);
    while (!found)
    {
        int x = q.front();
        q.erase(q.begin());

        if (x % M == 0)
        {
            found = true;
            fout << x;
        }

        q.push_back(x * 10);
        q.push_back(x * 10 + 1);
    }

    fin.close();
    fout.close();
    return 0;
}