Pagini recente » Cod sursa (job #2318418) | Cod sursa (job #1606464)
#include<cstdio>
char ucif[2000001];
int anterior[2000001];
int q[2000001];
void refacere(int x)
{
if(x!=-1)
refacere(anterior[x]);
printf("%d",ucif[x]);
}
void qwer()
{
printf("0");
}
int main()
{
int a,b,ca,cb,m,r,x,y,i,p,u;
freopen("multiplu.in","r",stdin);
freopen("multiplu.out","w",stdout);
scanf("%d%d",&a,&b);
ca=a;
cb=b;
while(b!=0)
{
r=a%b;
a=b;
b=r;
}
m=(ca*cb)/a;
//qwer();
for(i=0;i<=m;i++)
{
ucif[i]=anterior[i]=-1;
}
p=u=0;
q[u++]=1;
ucif[1]=1;
anterior[1]=0;
while(p!=u)
{
x=q[p++];
for(i=0;i<=1;i++)
{
y=(x*10+i)%m;
if(ucif[y]==-1)
{
q[u++]=y;
ucif[y]=i;
anterior[y]=x;
}
}
}
refacere(0);
printf("\n");
return 0;
}