Pagini recente » Cod sursa (job #2973166) | Cod sursa (job #2706732) | Cod sursa (job #970478) | Cod sursa (job #2159192) | Cod sursa (job #129120)
Cod sursa(job #129120)
#include<stdio.h>
#include<iostream.h>
#define LMAX 2000005
long a,b,m;
int cif[LMAX]; long v[LMAX],ult[LMAX]; bool gasit[LMAX];
void init()
{scanf("%ld %ld",&a,&b);
if(a>b) m=a;
else m=b;
long var=m;
while(m%b!=0 || m%a!=0) m+=var;
v[1]=1; ult[1]=0; cif[1]=1; gasit[1]=1;}
long afisare(long poz)
{if(poz!=0) {afisare(ult[poz]); printf("%d",cif[poz]);} }
main()
{freopen("multiplu.in","r",stdin);
freopen("multiplu.out","w",stdout);
init();
long start=1,end=1;
while(start<=end)
{ long rest1=(v[start]*10)%m;
long rest2=(v[start]*10+1)%m;
if(rest1==0) {afisare(start); printf("0\n"); break;}
else
if(gasit[rest1]==0) {v[++end]=rest1; cif[end]=0; ult[end]=start; gasit[rest1]=1;}
if(rest2==0) {afisare(start); printf("1\n"); break;}
else
if(gasit[rest2]==0) {v[++end]=rest2; cif[end]=1; ult[end]=start; gasit[rest2]=1;}
start++;}
}