Cod sursa(job #971785)

Utilizator antonioteoZait Teodor Antonio antonioteo Data 10 iulie 2013 09:02:12
Problema Multiplu Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.72 kb
#include <cstdio>
using namespace std;

#define PMAX 2000001
#define CMAX 31

int A, B, dim;
bool done;

int x[CMAX];
bool Used[PMAX];

inline void Process(int n) {
	long long Num = 0;
	for (int j = 1; j <= n; ++j)
		Num = Num * 10 + x[j];
	if (!(Num % A) && !(Num % B) && Num > 1) {
		printf("%lld\n", Num);
		done = true;
		return;
	}
}

void back(int k) {
	for (int i = 0; i <= 1 && !done; ++i) {
		x[k] = i;
		if (k == 1 && x[k] != 1) continue;
		if (k == dim)
			Process(k);
		else
			back(k + 1);
	}
}

int main() {
	freopen("multiplu.in","r",stdin);
	freopen("multiplu.out","w",stdout);
	scanf("%i%i", &A, &B);
	for (int t = 1; t <= 30 && !done; ++t)
		dim = t,
		back(1);
	return 0;
}