Pagini recente » Cod sursa (job #400718) | Cod sursa (job #2518327) | Cod sursa (job #2232336) | Cod sursa (job #2589850) | Cod sursa (job #413437)
Cod sursa(job #413437)
#include <stdio.h>
FILE*f=fopen("multiplu.in","r");
FILE*g=fopen("multiplu.out","w");
char viz[2000001],d[2000001],sol[2000001],ok;
int c[2000001],t[2000001],x,y,a,b,r,i,j,p,u;
int main() {
fscanf(f,"%d%d",&x,&y);
a=x;
b=y;
while(b==0){
r=a%b;
a=b;
b=r;
}
r=x*y/a;
p=u=c[1]=d[1]=viz[1]=1;
while(p<=u&&!ok){
for(i=0;i<=1&&!ok;i++){
x=(c[p]*10+i)%r;
if(!viz[x]){
u++;
viz[x]=1;
c[u]=x;
t[u]=p;
d[u]=i;
if(x==0)
ok=1;
}
}
p++;
}
y=u;
while(y) {
sol[++j]=d[y];
y=t[y];
}
for(i=j;i>=1;i--)
fprintf(g,"%d",sol[i]);
fclose(g);
fclose(f);
return 0;
}