Pagini recente » Cod sursa (job #1482865) | Cod sursa (job #3356211) | Cod sursa (job #1067337) | Cod sursa (job #979006) | Cod sursa (job #3338560)
#include <bits/stdc++.h>
using namespace std;
#define ll long long
const int DIM=2000005;
ifstream fin("multimi.in");
ofstream fout("multimi.out");
inline void atribuire_scalar(ll A[],ll x){
A[0]=0;
if(x==0){
A[0]=1;
A[1]=0;
}
else{
while(x){
A[++A[0]]=x%10;
x/=10;
}
}
}
inline bool binar(ll A[]){
for(int i=1;i<=A[0];i++)
if(A[i]!=0 && A[i]!=1)
return false;
return true;
}
inline void impartire(ll A[],ll x,ll C[],ll &r){
r=0;
C[0]=A[0];
for(int i=A[0];i>=1;i--){
ll cur=10*r+A[i];
C[i]=cur/x;
r=cur%x;
}
while(C[0]>1&&C[C[0]]==0)
C[0]--;
}
int main(){
ios::sync_with_stdio(false);
cin.tie(nullptr);
ll a,b;
fin>>a>>b;
static ll M[DIM],M1[DIM],M2[DIM],C1[DIM],C2[DIM];
ll r1,r2;
for(ll i=1;;i++){
atribuire_scalar(M1,i);
atribuire_scalar(M2,i);
impartire(M1,a,C1,r1);
impartire(M2,b,C2,r2);
if(r1==0 && r2==0 && binar(M1)){
for(int j=0;j<=M1[0];j++)
M[j]=M1[j];
break;
}
}
for(int i=M[0];i>=1;i--)
fout<<M[i];
return 0;
}