Cod sursa(job #1827192)

Utilizator MoldovanMoldovan Moldovan Data 11 decembrie 2016 15:47:50
Problema Multiplu Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.86 kb
#include <cstdio>

using namespace std;
struct lee
{
    unsigned long long  nr;
    int rest;
};
lee q[2000005];
int main()
{
    freopen("multiplu.in","r",stdin);
    freopen("multiplu.out","w",stdout);
    int a, b , rest1,prod=1;
    scanf("%d %d",&a,&b);
    prod=a*b;
    while(b)
    {
        rest1=a%b;
        a=b;
        b=rest1;
    }
    prod/=a;

    if(prod==1)
    {
        printf("10");
        return 0;
    }
    int p =1, u =1;
q[1].nr=1;
    q[1].rest=1;
    while(p<=u)
    {
        unsigned long long nr1=q[p].nr;rest1=q[p].rest;p++;
        for(int i = 0 ; i <= 1;i++)
        {
            q[++u].nr=nr1*10+i;
            q[u].rest=(rest1*10+i)%prod;
            if(q[u].rest==0)
            {
                printf("%lld",q[u].nr);
                return 0;
            }
        }
    }
    return 0;
}