CUBEND - Suffix Of Cube
Given any string of decimal digits, ending in 1, 3, 7 or 9, there is always a decimal
number, which when cubed has a decimal expansion ending in the original given digit
string. The number need never have more digits than the given digit string.
Write a program, which takes as input a string of decimal digits ending in 1, 3, 7 or 9
and finds a number of at most the same number of digits, which when cubed, ends in
the given digit string.
The input begins with a line containing only the count of problem instances, nProb, as a
decimal integer, 1 <= nProb <= 100. This is followed by nProb lines, each of which
contains a string of between 1 and 10 decimal digits ending in 1, 3, 7 or 9.
For each problem instance, there should be one line of output consisting of the number,
which when cubed, ends in the given digit string. The number should be output as a
decimal integer with no leading spaces and no leading zeroes.
If there are many answers, the minimum should be chosen.
9876543213 Output: 947
That's a crap :( C++ solution overflows. Good we have python.
Is unsigned long long int enough?
I don't know if such data case occurs, but in case of input like "0001" simply print "1". That is, you can assume that there are infinitely many leading 0's in the cubes result.Last edit: 2011-04-20 11:37:25