Pagini recente » Cod sursa (job #361742) | Cod sursa (job #3030329) | Cod sursa (job #2190438) | Cod sursa (job #361706) | Cod sursa (job #413430)
Cod sursa(job #413430)
#include<stdio.h>
#define dim 2000001
FILE*f=fopen("multiplu.in","r");
FILE*g=fopen("multiplu.out","w");
int A,B,a,b,r,p,u,k,i,ok,x,ec;
char viz[dim];
int t[dim],sol[dim],c[dim],cif[dim],s;
int main () {
fscanf(f,"%d%d",&A,&B);
a=A; b=B;
while(b!=0){
r=a%b;
a=b;
b=r;
}
x=A/a*B;
viz[1]=1;
c[1]=1;
p=u=1;
sol[++k]=1;
cif[1]=1;
while(p<=u&&ok==0){
ec=c[p];
for(i=0;i<=1;i++){
r=(c[p]*10+i)%x;
if(viz[r]==0){
c[u++]=r;
viz[r]=1;
t[u]=p;
cif[u]=i;
}
if(r==0){
ok=1;
break;
}
}
p++;
}
s=u;
while(s!=0){
sol[++k]=cif[s];
s=t[s];
}
for(i=k;i>=1;i--)
fprintf(g,"%d",sol[i]);
fclose(f);
fclose(g);
return 0;
}