Pagini recente » Cod sursa (job #2359130) | Cod sursa (job #2567631) | Cod sursa (job #1859565) | Cod sursa (job #1470387) | Cod sursa (job #505885)
Cod sursa(job #505885)
#include<cstdio>
const int NMAX = 1 << 21 ;
int ultim[NMAX],pred[NMAX],q[NMAX];
bool rest[NMAX];
int cmmdc ( int a , int b )
{
int r ;
while ( b )
{
r=a%b;
a=b;
b=r;
}
return a ;
}
int cmmmc ( int a , int b )
{
return (a*b)/cmmdc(a,b) ;
}
void afis ( int q )
{
if ( pred[q] == -1 )
{
printf ( "1" ) ;
return ;
}
afis ( pred [ q ] ) ;
printf ( "%d" , ultim [q] ) ;
}
void solve ( int n )
{
int p , u , c , nr ;
q[1]=1;
ultim[1]=1;
pred[1]=-1;
rest[1]=true;
p=u=1;
while ( p <= u )
{
for ( c = 0 ; c < 2 ; ++ c )
{
nr = ( q[p]*10 + c ) % n ;
if ( !rest[nr] )
{
ultim[nr]=c;
pred[nr]=q[p];
rest[nr]=true;
q[++u]=nr;
}
if(nr == 0)
{
afis(0);
return;
}
}
++p;
}
afis ( 0 );
}
int main ( )
{
freopen ( "multiplu.in", "r", stdin ) ;
freopen ( "multiplu.out", "w", stdout ) ;
int a , b , n;
scanf ( "%d%d", &a, &b ) ;
n = cmmmc ( a , b ) ;
//printf ( "%d", n ) ;
solve( n );
return 0 ;
}