Pagini recente » Rezultatele filtrării | Borderou de evaluare (job #2110730) | Borderou de evaluare (job #2525488) | Rezultatele filtrării | Cod sursa (job #2785250)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("multiplu.in");
ofstream fout("multiplu.out");
int a, b, v[30], l, v2[30];
bool gasit = true;
void Back(int i, int j, int m1, int m2){
if (i > j){
if (gasit){
return;
}
if (m1 == m2 && m1 == 0){
for (int k = 1; k <= j; ++k){
v2[k] = v[k];
}
gasit = true;
}
return;
}
v[i] = 0;
Back(i + 1, j, m1 * 10 % a, m2 * 10 % b);
v[i] = 1;
Back(i + 1, j, (m1 * 10 + 1) % a, (m2 * 10 + 1) % b);
}
int main(){
fin >> a >> b;
for (int i = 1; i <= 22; ++i){
gasit = false;
v[1] = 1;
int m1 = 1 % a;
int m2 = 1 % b;
Back(2, i, m1, m2);
if (gasit){
l = i;
break;
}
}
for (int i = 1; i <= l; ++i){
fout << v2[i];
}
return 0;
}