Pagini recente » Cod sursa (job #1440411) | Cod sursa (job #2042594) | Cod sursa (job #461406) | Cod sursa (job #3194258) | Cod sursa (job #3263657)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("multiplu.in");
ofstream fout("multiplu.out");
bool fr[2000002];
queue<int> q;
int a, b, m;
static inline int Cmmdc(int a, int b) {
if(b == 0) return a;
return Cmmdc(b, a % b);
}
static inline int Cmmmc(int a, int b) {
return a / Cmmdc(a, b) * b;
}
static inline void Recontruieste(int rest) {
if(rest == 1) {
fout << "\n";
return;
}
int frCur = fr[rest];
Recontruieste(frCur);
if((frCur * 10) % m == rest) fout << "0";
else fout << "1";
}
int main() {
fin >> a >> b;
m = Cmmmc(a, b);
q.push(1);
while(true) {
int nr, cur = q.front();
q.pop();
if(cur == 0) break;
nr = (cur * 10) % m;
if(!fr[nr]) {
fr[nr] = cur;
q.push(nr);
}
nr = (cur * 10 + 1) % m;
if(!fr[nr]) {
fr[nr] = cur;
q.push(nr);
}
}
return 0;
}