Pagini recente » Cod sursa (job #32144) | Cod sursa (job #2657436) | Cod sursa (job #2987434) | Cod sursa (job #1462009) | Cod sursa (job #413510)
Cod sursa(job #413510)
#include <stdio.h>
#define DIM 2000001
int c[DIM],t[DIM];
char viz[DIM],d[DIM],sol[DIM];
int x,a,b,p,u,ok,k,r,i;
int cmmdc(int a, int b) {
int r;
while (b!=0) {
r = a % b;
a = b;
b = r;
}
return a;
}
int main() {
FILE *f1 = fopen("multiplu.in","r");
FILE *f2 = fopen("multiplu.out","w");
fscanf(f1,"%d %d",&a,&b);
x = a*b / cmmdc(a,b);
p = u = 1;
c[u] = 1;
t[1] = 0;
d[1] = 1;
viz[1] = 1;
while (p <= u && !ok) {
for (i=0; i<=1; i++) {
r = (c[p]*10 + i) % x;
if (!viz[r]) {
u++;
viz[r] = 1;
c[u] = r;
t[u] = p;
d[u] = i;
if (!r) {
ok = 1;
break;
}
}
}
p++;
}
while (u) {
sol[++k] = d[u];
u = t[u];
}
for (i=k; i>=1; i--)
fprintf(f2,"%d",sol[i]);
fclose(f1);
fclose(f2);
return 0;
}