Pagini recente » Cod sursa (job #2759104) | Cod sursa (job #1077278) | Cod sursa (job #1117106) | Cod sursa (job #2341347) | Cod sursa (job #1418851)
#include<fstream>
#define DIM 2000005
using namespace std;
ifstream fin("multiplu.in");
ofstream fout("multiplu.out");
int M,n;
int cif[DIM],t[DIM];
char f[DIM];
short c[DIM];
void sol(){
int i;
for(i=c[0];i>=1;i--){
fout<<c[i];
}
return ;
}
int rest(int p){
c[0]=1;
c[1]=0;
while(p!=0){
c[++c[0]]=cif[p];
p=t[p];
}
int r=0;
int i;
for(i=c[0];i>=1;i--){
r=(r*10+c[i])%M;
}
return r;
}
int rest1(int p){
c[0]=1;
c[1]=1;
while(p!=0){
c[++c[0]]=cif[p];
p=t[p];
}
int r=0;
int i;
for(i=c[0];i>=1;i--){
r=(r*10+c[i])%M;
}
return r;
}
int i,r,a,b,x,y;
int main(){
fin>>x>>y;
a=x;
b=y;
r=0;
while(b!=0){
r=a%b;
a=b;
b=r;
}
M=(x*y)/a;
n=1;
cif[1]=1;
f[1]=1;
i=1;
while(0==0){
r=rest(i);
if(f[r]==0){
f[r]=1;
cif[++n]=0;
t[n]=i;
if(r==0){
sol();
return 0;
}
}
r=rest1(i);
if(f[r]==0){
f[r]=1;
cif[++n]=1;
t[n]=i;
if(r==0){
sol();
return 0;
}
}
i++;
}
return 0;
}