Pagini recente » Cod sursa (job #1925200) | Cod sursa (job #858216) | Cod sursa (job #690440) | Cod sursa (job #1254802) | Cod sursa (job #243301)
Cod sursa(job #243301)
#include<stdio.h>
struct Q
{
char cif;
long r;
long pred;
};
char frec[2000001],nrf[2000001];
Q v[2000001];
long a,b,ca,cb,r,r1,r2,c,p,u;
void solutie(long n)
{
long nr=0,i;
nrf[++nr]=v[n].cif;
while(v[n].pred>0)
{
n=v[n].pred;
nrf[++nr]=v[n].cif;
}
for (i=nr;i>0;--i)
printf("%d",nrf[i]);
}
int main()
{
freopen("multiplu.in","r",stdin);
freopen("multiplu.out","w",stdout);
scanf("%ld%ld",&a,&b);
ca=a;
cb=b;
while(ca!=0)
{
r=cb%ca;
cb=ca;
ca=r;
}
c=a/cb*b;
frec[1]=1;
v[1].cif=1;
v[1].r=1;
v[1].pred=0;
p=u=1;
while(p<=u)
{
r1=(v[p].r*10+1)%c;
if (frec[r1]==0)
{
frec[r1]++;
v[++u].r=r1;
v[u].cif=1;
v[u].pred=p;
}
if (r1==0)
{
solutie(u);
return 0;
}
r2=(v[p].r*10)%c;
if (frec[r2]==0)
{
frec[r2]++;
v[++u].r=r2;
v[u].cif=0;
v[u].pred=p;
}
if (r2==0)
{
solutie(u);
return 0;
}
p++;
}
return 0;
}