how mang n
连山秀举 2009-05-09 08:45:17 How mang N
以下是这道题的描述(据传是道ACM):
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.
Input
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.
Output
On each single line, output the number of N, if no such K, output zero.
Sample Input
1 5
1 11
1 13
Sample Output
0
2
6
有高人给出如下答案,小子实在看不懂原理,请牛人指点,说明原理即可,谢谢!
#include <stdio.h>
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;
}