Pagini recente » Cod sursa (job #2358287) | Cod sursa (job #3179559) | Cod sursa (job #3202468) | Cod sursa (job #2852402) | Cod sursa (job #2299177)
#include <cstdio>
#include <algorithm>
using namespace std;
FILE *fin = freopen("multiplu.in","r",stdin);
FILE *fout = freopen("multiplu.out","w",stdout);
static const int NMAX = 2e6+5;
int a,b;
int coada[NMAX], v[NMAX], cifra[NMAX], drum[NMAX];
void solve(int u)
{
if(u!=0)
{
solve(drum[u]);
printf("%d", cifra[u]);
}
}
int main()
{
scanf("%d%d",&a,&b);
int cmmmc = a / __gcd(a,b) * b;
int p,u;
coada[1] = 1;
p = 1;
u = 1;
v[1] = 1;
cifra[1] = 1;
while(p <= u)
{
for(int ultCif = 0; ultCif <= 1; ultCif++)
{
int next = (coada[p]*10 +ultCif) % cmmmc;
if(v[next] == 0)
{
u++;
coada[u] = next;
v[next] = 1;
cifra[u] = ultCif;
drum[u] = p;
if(next == 0)
{
p = u+1;
break;
}
}
}
p++;
}
solve(u);
return 0;
}
/// (sa vad daca o sursa de 100 ia 100)