Cod sursa(job #971784)

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

#define PMAX 2000001
#define CMAX 10

int A, B, dim;
bool done;

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

inline void Process(int n) {
	int Num = 0;
	for (int j = 1; j <= n; ++j)
		Num = Num * 10 + x[j];
	if (!(Num % A) && !(Num % B) && Num > 1) {
		printf("%i\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 <= 9 && !done; ++t)
		dim = t,
		back(1);
	return 0;
}