Pagini recente » Cod sursa (job #1414743) | Monitorul de evaluare | Istoria paginii utilizator/apostol_cristina | Cod sursa (job #1071346) | Cod sursa (job #138885)
Cod sursa(job #138885)
#include <stdio.h>
int cmmdc(int a,int b)
{
if (b ==0) return a;
return cmmdc(b,a%b);
}
#define Nmax 2000100
int q[Nmax], c[Nmax], l[Nmax];
void reconstruct(int x)
{
if (l[x] != 0) reconstruct(l[x]);
printf("%d", c[x]);
}
int main()
{
freopen("multiplu.in","r",stdin);
freopen("multiplu.out","w",stdout);
int a,b;
scanf("%d%d",&a,&b);
a=(a*b)/cmmdc(a,b);
q[1] = 1;
c[1] = 1;
l[1] = 0;
int st,dr;
st = 0;
dr = 1;
while (1)
{
++st;
b = (q[st]*10)%a;
++dr;
q[dr] = b;
c[dr] = 0;
l[dr] = st;
if (b == 0)
{
reconstruct(dr);
return 0;
}
b = (b+1)%a;
++dr;
q[dr] = b;
c[dr] = 1;
l[dr] = st;
if (b == 0)
{
reconstruct(dr);
return 0;
}
}
return 0;
}