Pagini recente » Cod sursa (job #624348) | Cod sursa (job #1801115) | Cod sursa (job #451382) | Cod sursa (job #1121944) | Cod sursa (job #1414871)
#include <cstdio>
#include<vector>
#include<algorithm>
using namespace std;
struct multiplu
{
bool c;
int r,t;
};
multiplu q[2000001];
bool fr[2000001];
bool sol[2000001];
int main()
{
freopen("multiplu.in","r",stdin);
freopen("multiplu.out","w",stdout);
int a,b,ca,cb,r,cmmmc,u,p,r0,r1,m,nr,cu,i;
scanf("%d%d",&a,&b);
ca=a;
cb=b;
while(cb)
{
r=ca%cb;
ca=cb;
cb=r;
}
m=a*b/ca;
i=1;
p=u=1;
q[p].c=1;q[p].r=1;fr[1]=1;
while(p<=u)
{
r0=(q[p].r*10+0)%m;
if(fr[r0]==0)
{
++u;
q[u].c=0;
q[u].r=r0;
q[u].t=p;
fr[r0]=1;
if(r0==0)
break;
}
r1=(q[p].r*10+1)%m;
if(fr[r1]==0)
{
++u;
q[u].c=1;
q[u].r=r1;
q[u].t=p;
fr[r1]=1;
if(r1==0)
break;
}
p++;
}
nr=1;
cu=u;
sol[nr]=q[cu].c;
while(q[cu].t!=0)
{
cu=q[cu].t;
sol[++nr]=q[cu].c;
}
for(i=nr;i>=1;i--)
printf("%d",sol[i]);
return 0;
}