Time limit : 15 sec | Memory limit : 32 M |
Find a minimal interger K which is merely comprised of N and can be divided by M.
For example,11 is the minimal number that and be divided by 11, and it is comprised of two '1's, and 111111 can be divided by 13 which is comprised of six '1's.
On each line of input , there will be two positive integer, N and M. N is a digit number, M is no more than 10000.
OutputOn each single line, output the number of N, if no such K, output zero.
Sample Input1 5 1 11 1 13Sample Output
0 2 6
Solution:
int main( )
{
int n, m, t, f[ 10000 ], i, count;
while ( scanf("%d %d", &n, &m) == 2 )
{
count = t = 0;
for ( i = 0; i < m; i++ )
f[ i ] = 0;
while ( !f[ t ] )
{
count++;
f[ t ] = 1;
t = ( t * 10 + n ) % m;
}
if ( !t )
printf("%d\n", count);
else
printf("0\n");
}
return 0;
}