Cod sursa(job #2841337)

Utilizator TudosieRazvanTudosie Marius-Razvan TudosieRazvan Data 29 ianuarie 2022 16:11:07
Problema Multiplu Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.96 kb
#include <fstream>
#include <queue>
#include <vector>
#define NMAX 6000005
using namespace std;

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

bool viz[NMAX],cif[NMAX];
int tata[NMAX];
const int val[2] = { 1,0 };


bool eBun(unsigned long long val)
{
    while (val > 0)
    {
        if (val % 10 > 1)
        {
            return false;
        }
        val = val / 10;
    }
    return true;
}

void cautNumar(int num)
{
    for (unsigned long i = 1; i * num < ULONG_MAX; i++)
    {
        if (eBun(i * num)) {
            fout << i * num;
            return;
        }
    }
    fout << "-1";
}

int cmmdc(int a, int b)
{
    int rest = a % b;
    while (rest != 0)
    {
        a = b;
        b = rest;
        rest = a % b;
    }
    return b;
}

int main()
{
    int a, b;
    fin >> a >> b;
    int cmdc = cmmdc(a, b);
    int cmmmc = (a / cmdc) * (b / cmdc);
    cautNumar(cmmmc);
    return 0;
}