Pagini recente » Cod sursa (job #3259099) | Cod sursa (job #1746823) | Cod sursa (job #2115611) | Cod sursa (job #1913239) | Cod sursa (job #1414279)
#include<cstdio>
const int MAX=2000000;
int q[MAX];
int father[MAX+1];
bool vis[MAX+1];
bool c[MAX+1];
int res[MAX+1];
int a,b;
int main(){
freopen("multiplu.in","r",stdin);
freopen("multiplu.out","w",stdout);
int a;
scanf("%d%d",&a,&b);
int ca=a,cb=b;
while(b){
int r=a%b;
a=b;
b=r;
}
a=ca*cb/a;
int ql=1,qr=1;
q[1]=1;
c[1]=1;
vis[1]=true;
while(true){
int r=(q[ql++]*10)%a;
if(!vis[r]){
q[++qr]=r;
vis[r]=true;
c[qr]=0;
father[qr]=ql-1;
if(!q[qr])
break;
}
r=(r+1)%a;
if(!vis[r]){
q[++qr]=r;
c[qr]=1;
father[qr]=ql-1;
vis[r]=true;
if(!q[qr])
break;
}
}
int pos=qr;
int k=0;
while(pos){
res[++k]=c[pos];
pos=father[pos];
}
for(int i=k;i>=1;i--)
printf("%d",res[i]);
return 0;
}