Magic Number

I have to write progarm for following problem -
File contain numbers. Numbers can be of 20 digits. I want to write program so that it can print number - with following property

75 * 75 * 75 = 421875 (last two digits are 75)
501 * 501 * 501 = 125751501 (again last 3 difits are same as 501)

Following numbers are also have same property

Please help me to solve this problem. I am sure strig need to use for it as there is no datatype that store number for 20 digits and its cube.

Open in new window

Who is Participating?
johnnash1180Connect With a Mentor Commented:
Try out using the C++ big integer library available at

Hope it fulfills your requirement.

John Nash
You can get more details on large number arithmetic from the URL.
InteractiveMindConnect With a Mentor Commented:
The last three digits of n^3 only depend on the last three digits of n.

If n consists of a units, b tens, and c hundreds, then the last three digits of n^3 will be:

  (a^3 + 3a^2*b*10 + 3a^2*c*100 + 2a*b^2*100) % 1000
(So, for example, read the number into a char[], cast the last three digits to integers, perform the above check. If it equals the last three digits then it's a 'magic number', so put the char[])
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.