Pagini recente » Cod sursa (job #2107532) | Cod sursa (job #808009) | Cod sursa (job #563979) | Cod sursa (job #2938595) | Cod sursa (job #2284018)
#include <fstream>
using namespace std;
ifstream fin("multiplu.in");
ofstream fout("multiplu.out");
const int NMAX=2000000;
struct MULTIPLU
{
bool c;
int r,t;
};
int cmmmc (int a,int b)
{
int r,c1,c2;
c1=a;
c2=b;
while(b)
{
r=a%b;
a=b;
b=r;
}
return (c1*c2)/a;
}
MULTIPLU q[NMAX+5];
bool f[NMAX+5];
int main()
{
int a,b,m,p,u,sol=0,ok,r,i;
fin>>a>>b;
m=cmmmc(a,b);
MULTIPLU temp;
temp.c=1;
temp.r=1;
temp.t=0;
p=u=1;
q[u]=temp;
ok=0;
while(p<=u && !ok)
{
r=(q[p].r*10+0)%m;
if(f[r]==0)
{
f[r]==1;
temp.c=0;
temp.r=r;
temp.t=p;
q[++u]=temp;
if(r==0)
{
ok=1;
continue;
}
}
r=(q[p].r*10+1)%m;
if(f[r]==0)
{
f[r]==1;
temp.c=1;
temp.r=r;
temp.t=p;
q[++u]=temp;
if(r==0)
{
ok=1;
continue;
}
}
p++;
}
while(u!=0)
{
f[++sol]=q[u].c;
u=q[u].t;
}
for(i=sol;i>=1;i--)
fout<<f[i];
return 0;
}