Cod sursa(job #2262549)

Utilizator aturcsaTurcsa Alexandru aturcsa Data 17 octombrie 2018 16:35:15
Problema Multiplu Scor 10
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.91 kb
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
ifstream fin("multiplu.in");
ofstream fout("multiplu.out");

long long a,b,ver;
int st[100];
long long mini=3000000000000;
long long numar (int i)
{
    long long nr=0;
    for (int j=1;j<=i;j++)
        nr=nr*10+st[j];
    return nr;
}
void scrie (int i)
{
    for (int j=1;j<=i;j++)
        fout<<st[j];
    fout<<endl;
}
int valid (int i)
{
    long long d=numar(i);
        if ((d%a==0)&&(d%b==0)) {ver++; return 1;}
    return 0;
}
void backtr (int i)
{
    int j;
    //if (ver==0)
    if(i<=19)
        for (j=0;j<=1;j++)
        {
            st[i]=j;
            if (valid(i)==1)
            {if(numar(i)<mini)mini=numar(i);}
                else backtr(i+1);
        }
}
int main()
{
    fin>>a>>b;
    cout<<a*b/__gcd(a,b);
    st[1]=1;
    backtr(2);
    fout<<mini;
    return 0;
}