| 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;
}
此博客探讨如何找到一个由N位数字构成的最小整数K,该整数可以被M整除。通过输入一对正整数N和M,输出满足条件的K,或若不存在输出零。
1417

被折叠的 条评论
为什么被折叠?



