Pagini recente » Monitorul de evaluare | Cod sursa (job #1792129) | Cod sursa (job #3174414) | Diferente pentru preoni-2005/runda-2/solutii intre reviziile 24 si 20 | Cod sursa (job #244076)
Cod sursa(job #244076)
#include<stdio.h>
struct QUEUE
{
char c;
long r;
long p;
};
QUEUE q[2000002];
char rest[2000002];
long i,nr,d,u,p;
char a[2000002];
long A,B,n;
long cmmmc(long A,long B)
{
long x,y,r;
x=A;
y=B;
while(y)
{
r=x%y;
x=y;
y=r;
}
return (A*B)/x;
}
int main()
{
freopen("multiplu.in","r",stdin);
freopen("multiplu.out","w",stdout);
scanf("%ld%ld",&A,&B);
n=cmmmc(A,B);
q[1].c=1;
q[1].r=1;
q[1].p=0;
p=u=1;
while(q[p].r!=0)
{
for(d=0;d<=1;++d)
{
if(rest[(q[p].r*10+d)%n]==0)
{
rest[(q[p].r*10+d)%n]=1;
u++;
q[u].c=d;
q[u].r=(q[p].r*10+d)%n;
q[u].p=p;
}
}
p++;
}
while(p)
{
nr++;
a[nr]=q[p].c;
p=q[p].p;
}
for(i=nr;i>=1;--i)
printf("%d",a[i]);
printf("\n");
return n;
}