Pagini recente » Cod sursa (job #2807107) | Cod sursa (job #1444965) | Cod sursa (job #2439326) | Cod sursa (job #2641321) | Cod sursa (job #505886)
Cod sursa(job #505886)
#include<cstdio>
const int N=1<<21;
int pred[N],ultim[N],q[N];
bool rest[N];
int euclid(int a,int b)
{
int c;
while(b)
{
c=a%b;
a=b;
b=c;
}
return a;
}
int cmmmc(int a,int b)
{
return a*b/euclid(a,b);
}
void afisare(int q)
{
if(pred[q]==-1)
{
printf("1");
return ;
}
afisare ( pred[q] );
printf("%d",ultim[q]);
}
void solve(int n)
{
int p,u,c,nr;
ultim[1]=1;
q[1]=1;
pred[1]=-1;
rest[1]=true;
p=u=1;
while(p<=u)
{
for(c=0;c<=1;c++)
{
nr=(q[p]*10+c)%n;
if(rest[nr]==0)
{
ultim[nr]=c;
pred[nr]=q[p];
rest[nr]=true;
q[++u]=nr;
}
if(nr==0)
{
afisare(0);
return ;
}
}
++p;
}
afisare(0);
}
int main()
{
freopen("multiplu.in","r",stdin);
freopen("multiplu.out","w",stdout);
int n,a,b;
scanf("%d%d",&a,&b);
n=cmmmc(a,b);
solve(n);
return 0;
}