Mai intai trebuie sa te autentifici.
Cod sursa(job #115428)
Utilizator | 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;
}