Pagini recente » Cod sursa (job #2491435) | Cod sursa (job #2023613) | Cod sursa (job #1873195) | Cod sursa (job #1519463) | Cod sursa (job #343380)
Cod sursa(job #343380)
#include<cstdio>
const int M = (1<<21);
int a,b,m,pred[M];
short int ult[M];
int cmmdc(int a,int b)
{
int r;
while(b)
{
r=a%b;
a=b;
b=r;
}
return a;
}
void CL()
{
int p=1,u=0,x,y,i,q[M];
pred[1]=1;
ult[1]=1;
q[++u]=1;
while(p<=u)
{
x=q[p++];
for(i=0 ; i<2 ; ++i)
{
y=(x*10+i)%m;
if(!pred[y])
{
ult[y]=i;
pred[y]=x;
q[++u]=y;
}
}
}
}
void drum(int x)
{
if(x!=1)
drum(pred[x]);
printf("%hd",ult[x]);
}
int main()
{
freopen("multiplu.in","r",stdin);
freopen("multiplu.out","w",stdout);
scanf("%d%d",&a,&b);
m=a/cmmdc(a,b)*b;
CL();
drum(0);
return 0;
}