Mai intai trebuie sa te autentifici.

Cod sursa(job #115428)

Utilizator sims_glAlexandru Simion sims_gl Data 16 decembrie 2007 12:37:16
Problema Multiplu Scor 10
Compilator cpp Status done
Runda preONI 2008, Runda 2, Clasele 11-12 Marime 0.67 kb
#include <stdio.h>

int cmmdc(int a, int b)
{
	if (b == 0)
		return a;
	return cmmdc(b, a % b);
}

int main()
{
	freopen("multiplu.in", "r", stdin);
	freopen("multiplu.out", "w", stdout);

	int n, a, b, v[128];

	scanf("%d%d", &a, &b);

	n = a * b / cmmdc(a, b);

	for (int i = 1; ; ++i) {
		v[0] = 0;

		for (int aux = i; aux; aux >>= 1)
			v[++v[0]] = aux % 2;

		for (int j = 1; 2 * j <= v[0]; ++j) {
			int tmp = v[j];
			v[j] = v[v[0] - j + 1];
			v[v[0] - j + 1] = tmp;
		}

		int rest = 0;

		for (int j = 1; j <= v[0]; ++j)
			rest = (rest * 10 + v[j]) % n;

		if (!rest) {
			for (int j = 1; j <= v[0]; ++j)
				printf("%d", v[j]);
			printf("\n");
			break;
		}
	}
	
	return 0;
}