Pagini recente » Cod sursa (job #610194) | Cod sursa (job #2804881) | Cod sursa (job #262921) | Cod sursa (job #1672838) | Cod sursa (job #1012929)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("multiplu.in");
ofstream g("multiplu.out");
int a,b,n,prec[2000005],r[2000005],sol[2005],nsol=0,k,ind;
bool act[2000005],is[2000005],last;
int cmmmc(int x,int y)
{ int p=x*y,z;
while(y)
{ z=x%y;
x=y; y=z;
}
return p/x;
}
int main()
{ int i,j,rest;
f>>a>>b;
n=cmmmc(a,b); //cout<<n;
prec[1]=0; r[1]=1%n;
act[1]=1; is[r[1]]=1;
k=1;
for(i=1;i<=k;i++)
{ if (!r[i]) {last=act[i]; break;}
rest=(r[i]*10)%n;
if (!rest) {last=0; break;}
if (!is[rest])
{k++;
r[k]=rest; prec[k]=i;
act[k]=0;
is[rest]=1;
}
rest=((r[i]*10)+1)%n;
if (!rest) {last=1; break;}
if (!is[rest])
{k++;
r[k]=rest; prec[k]=i;
act[k]=1;
is[rest]=1;
}
}
nsol++; sol[nsol]=last;
nsol++; sol[nsol]=act[i];
while(prec[i])
{ i=prec[i];
nsol++; sol[nsol]=act[i];
}
for(i=nsol;i>=1;i--)
g<<sol[i];
return 0;
}