Pagini recente » Cod sursa (job #1264872) | Cod sursa (job #2004283) | Cod sursa (job #1804547) | Cod sursa (job #2786708) | Cod sursa (job #115725)
Cod sursa(job #115725)
#include <stdio.h>
#define NMax 2000000
long A, B;
FILE *f, *g;
long long C[NMax], x;
int in, sf;
void citire();
void rez();
long cmmdc( long A, long B );
int main()
{
citire();
rez();
return 0;
}
void rez()
{
int i, j,ok;
long M = A*B /cmmdc( A, B );
C[0] = 1;
while ( in <= sf )
{
x = C[in++];
if ( x % M == 0 )
{
fprintf( g, "%lld\n", x );
break;
}
for (i=in,ok=1; i<=sf && ok; i++)
if ( ((x*10)%M) == C[i]%M )
ok = 0;
if ( ok ) C[++sf] = x*10;
for (i=in,ok=1; i<=sf && ok; i++)
if ( ((x*10+1)%M) == C[i]%M )
ok = 0;
if ( ok ) C[++sf] = x*10+1;
}
}
long cmmdc( long A, long B )
{
long R;
while ( B )
{
R = A % B;
A = B;
B = R;
}
return A;
}
void citire()
{
f = fopen( "multiplu.in", "rt" );
g = fopen( "multiplu.out", "wt" );
fscanf( f, "%ld %ld", &A, &B );
fclose( f );
}