Pagini recente » Cod sursa (job #3273882) | Cod sursa (job #2199466) | Cod sursa (job #921104) | Cod sursa (job #3123555) | Cod sursa (job #1689285)
#include <cstdio>
using namespace std;
int C[2000001],v[2000001],e[2000001],t[2000001],cif[2000001];
int main()
{
FILE *fin=fopen ("multiplu.in","r");
FILE *fout=fopen ("multiplu.out","w");
int a,b,x,y,m,p,u,c,i,vec,ok=0,k;
fscanf (fin,"%d%d",&a,&b);
x=a;
y=b;
while (b>0){
c=a%b;
a=b;
b=c;
}
m=x*y/a;
p=1;
u=1;
C[1]=1;
v[1]=1;
while (p<=u){
// pe poz C[p] e un rest. Din el,obtinem alte doua, pe care le punem la coada
for (i=0;i<=1;i++){
vec=(C[p]*10+i)%m;
if (v[vec]==0){
v[vec]=1;
C[++u]=vec;
t[u]=p;
cif[u]=i;
if (vec==0){
k=0;
while (u!=0){
//printf ("%d",cif[u]);
e[++k]=cif[u];
u=t[u];
}
ok=1;
break;
}
}
}
if (ok)
break;
p++;
}
fprintf (fout,"1");
for (i=k-1;i>=1;i--)
fprintf (fout,"%d",e[i]);
return 0;
}