Pagini recente » Cod sursa (job #2185127) | Cod sursa (job #998107) | Cod sursa (job #888699) | Cod sursa (job #768377) | Cod sursa (job #1655587)
# include <fstream>
# include <bitset>
# define DIM 2000000
using namespace std;
ifstream fin("multiplu.in");
ofstream fout("multiplu.out");
int a,b,r,c1,d,nr,y,i,x,cmmmc,c[DIM],u,p,ok=1,t[DIM],cif[DIM],sol[DIM/10];
bitset <DIM> v;
int main () {
fin>>a>>b;
c1=a;
d=b;
while(b!=0){
r=a%b;
a=b;
b=r;
}
cmmmc=(c1*d)/a;
c[1]=1;
cif[1]=1;
t[1]=0;
u=1;
p=1;
if(c[1]%cmmmc==0){
fout<<1<<"\n";
return 0;
}
while (p <= u) {
for (x = 0; x <=1; x++) {
r = (c[p] * 10 + x) % cmmmc;
if (v[r] == 0) {
v[r]=1;
c[++u]=r;
cif[u]=x;
t[u]=p;
if(c[u]==0){
sol[++nr]=cif[u];
y=t[u];
while(y!=0){
sol[++nr]=cif[y];
y=t[y];
}
for(i=nr;i>=1;i--)
fout<<sol[i];
fout<<"\n";
return 0;
}
}
}
p++;
}
/* for(;;){
c[++u]=c[p]*10;
cif[u]=0;
t[u]=p;
c[u]%=cmmmc;
if(c[u]==0){
sol[++nr]=cif[u];
y=t[u];
while(y!=0){
sol[++nr]=cif[y];
y=t[y];
}
for(i=nr;i>=1;i--)
fout<<sol[i];
fout<<"\n";
return 0;
}
c[++u]=c[p]*10+1;
cif[u]=1;
t[u]=p;
c[u]%=cmmmc;
if(c[u]==0){
sol[++nr]=cif[u];
y=t[u];
while(y!=0){
sol[++nr]=cif[y];
y=t[y];
}
for(i=nr;i>=1;i--)
fout<<sol[i];
fout<<"\n";
return 0;
}
p++;
}
*/
return 0;
}