Pagini recente » Cod sursa (job #2829939) | Cod sursa (job #28448) | Cod sursa (job #1360566) | Cod sursa (job #1762823) | Cod sursa (job #574948)
Cod sursa(job #574948)
#include<stdio.h>
struct MULTIPLU
{
long c,ra,rb,pred;
};
MULTIPLU q[10000001];
long numar[10000001];
int main()
{
long a,b,p,u,i;
freopen("multiplu.in","r",stdin);
freopen("multiplu.out","w",stdout);
scanf("%ld%ld",&a,&b);
q[1].c=q[1].ra=q[1].rb=1;
q[1].pred=0;
p=u=1;
while (1)
{
q[++u].c=1;
q[u].pred=p;
q[u].ra=(q[p].ra*10+1)%a;
q[u].rb=(q[p].rb*10+1)%b;
if (q[u].ra==0 && q[u].rb==0)
break;
q[++u].c=0;
q[u].pred=p;
q[u].ra=(q[p].ra*10)%a;
q[u].rb=(q[p].rb*10)%b;
if (q[u].ra==0 && q[u].rb==0)
break;
p++;
}
i=u;
numar[++numar[0]]=q[i].c;
i=q[i].pred;
while (i)
{
numar[++numar[0]]=q[i].c;
i=q[i].pred;
}
for (i=numar[0];i>=1;i--)
printf("%ld",numar[i]);
return 0;
}