PROBLEM STATEMENT
Given an integer n, find the smallest integer that starts with n and is divisible by every
non-zero digit of n (all in decimal notation).
DEFINITION
Class:DivisibleByDigits
Method:getContinuation
Parameters:int
Returns:long long
Method signature:long long getContinuation(int n)
NOTES
-An integer A starts with an integer B if the string representation of B is a prefix of the string
representation of A (both in decimal notation with no leading zeroes).
CONSTRAINTS
-n will be between 1 and 1000000000, inclusive.
EXAMPLES
0)
13
Returns: 132
We need a number that starts with 13 and is divisible by 1 (always true) and by 3. The smallest
one is 132.
1)
648
Returns: 648
If n is divisible by all its non-zero digits, the answer to the problem is n itself.
2)
566
Returns: 56610
The resulting number must be divisible by 5, so it should end either with 0 or with 5. But a
number ending with 5 is odd and can't be divisible by 6. So the last digit of the answer must be
0. In order to make the number divisible by 6, we need to put something before this 0, and the
smallest appropriate digit is 1.
3)
1000000000
Returns: 1000000000
4)
987654321
Returns: 987654321360
5)
83
Returns: 8304
This problem statement is the exclusive and proprietary property of TopCoder, Inc. Any unauthorized use or reproduction of this information without the prior written consent of TopCoder, Inc. is strictly prohibited. (c)2010, TopCoder, Inc. All rights reserved.