Nu aveti permisiuni pentru a descarca fisierul grader_test4.in
Cod sursa(job #185845)
Utilizator | Data | 26 aprilie 2008 11:19:59 | |
---|---|---|---|
Problema | Multiplu | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.72 kb |
#include<fstream.h>
ifstream fin("multiplu.in");
ofstream fout("multiplu.out");
int a,b,m,v[2000001],u[2000001];
char s[2000001],c[2000001];
void refac(int i)
{if(i!=0)
{refac(u[i]);
fout<<(int)c[i];
}
}
int cmmdc(int a,int b)
{while(a!=b)
if(a>b) a-=b;
else b-=a;
return a;
}
int cmmmc(int a,int b)
{return a*b/cmmdc(a,b);
}
int main()
{fin>>a>>b;
v[1]=1;
c[1]=1;
m=cmmmc(a,b);
int n=1,i,x;
for(i=1;v[n]!=0;i++)
{x=(v[i]*10)%m;
if(s[x]==0)
{v[++n]=x;
s[x]=1;
c[n]=0;
u[n]=i;
}
if(x!=0)
{x=(v[i]*10+1)%m;
if(s[x]==0)
{v[++n]=x;
s[x]=1;
c[n]=1;
u[n]=i;
}
}
}
refac(n);
fin.close();
fout.close();
return 0;
}