Here's my code and the test I/O I'm using...
[c] int m,n;
while(scanf("%d %d", &n, &m)==2)
{
if (m>n || m == 0 || n == 0)
printf("Boring!\n");
else if (m==n && m != 1)
printf("%d 1\n", m);
else if (m==n && m == 1)
printf("Boring!\n");
else
if(!((float)(log(n)/log(m)) == (float)(int)(log(n)/log(m))) )
printf("Boring!\n");
else
{
while(n!=1)
{
printf("%d ", n);
n=n/m;
}
printf("1\n");
}
}[/c]
And my input:
Code: Select all
125 5
30 3
80 2
81 3
64 4
64 2
64 1
60 1
60 2
60 3
60 4
60 5
1000000000 500
1999999999 9
387420489 9
387420489 8
387420489 10
312500000 50
312500000 51
312500000 49
0 0
0 1
1 0
1 88
88 1
1 1
Code: Select all
125 25 5 1
Boring!
Boring!
81 27 9 3 1
64 16 4 1
64 32 16 8 4 2 1
Boring!
Boring!
Boring!
Boring!
Boring!
Boring!
Boring!
Boring!
387420489 43046721 4782969 531441 59049 6561 729 81 9 1
Boring!
Boring!
312500000 6250000 125000 2500 50 1
Boring!
Boring!
Boring!
Boring!
Boring!
Boring!
Boring!
Boring!