Pagini recente » Istoria paginii runda/iiot_5/clasament | Istoria paginii runda/111 | Cod sursa (job #966508) | Cod sursa (job #2404353) | Cod sursa (job #118721)
Cod sursa(job #118721)
#include<stdio.h>
#include<iostream.h>
#define LMAX 2000001
long a,b; long long m;
short int v[LMAX],cif[LMAX]; int ult[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;}
int afisare(int poz)
{if(poz!=0) {afisare(ult[poz]); printf("%d",cif[poz]);} }
main()
{freopen("multiplu.in","r",stdin);
freopen("multiplu.out","w",stdout);
init();
int start=1,end=1;
while(start<=end)
{if((v[start]*10)%m==0) {afisare(start); printf("0\n"); break;}
else {v[++end]=(v[start]*10)%m; cif[end]=0; ult[end]=start;}
if((v[start]*10+1)%m==0) {afisare(start); printf("1\n"); break;}
else {v[++end]=(v[start]*10+1)%m; cif[end]=1; ult[end]=start;}
start++;}
}