Pagini recente » Cod sursa (job #3164482) | Cod sursa (job #100737) | Cod sursa (job #1553319) | Cod sursa (job #1614872) | Cod sursa (job #873618)
Cod sursa(job #873618)
#include <fstream>
#define DIM 2000010
using namespace std;
char x[DIM];
int c[DIM];
char v[DIM];
int t[DIM];
char sol[DIM];
int p, u, a, b, m, r, i, j, k, stop;
ifstream fin("multiplu.in");
ofstream fout("multiplu.out");
int main() {
fin>>a>>b;
m = a*b;
while (b) {
r = a%b;
a = b;
b = r;
}
m/=a;
c[1] = 1;
p = u = 1;
v[1] = 1;
x[1] = 1;
t[1] = 0;
while (p<=u && !stop) {
//ce pot pune din c[p]
for (i=0;i<=1;i++) {
r = (c[p]*10 + i) % m;
if (v[r] == 0) {
u++;
c[u] = r;
v[r] = 1;
x[u] = i;
t[u] = p;
}
if (c[u] == 0) {
stop = 1;
break;
}
}
p++;
}
while (u!=0) {
sol[++k] = x[u];
u = t[u];
}
for (i=k;i>=1;i--)
fout<<(char)(sol[i] + '0');
fout<<"\n";
return 0;
}