Pagini recente » Cod sursa (job #2857386) | Cod sursa (job #1824124) | Cod sursa (job #2106641) | Cod sursa (job #1572305) | Cod sursa (job #413438)
Cod sursa(job #413438)
#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],cif[dim],sol[dim];
int t[dim],c[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;
cif[1]=1;
t[1]=0;
while(p<=u&&ok==0){
for(i=0;i<=1;i++){
r=(c[p]*10+i)%x;
if(viz[r]==0){
u++;
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;
}