Reputation: 1105
For given integers N and K (1 <= N, K <= 2000000000) you have to find the number of digits of N^K.
Is there any formula or something ? Because I tried solving it by simply powering N**K but it's not working for large values and the program simply freezes because of the calculations. I am looking for some fast way maybe some math formula like I said before.
Upvotes: 10
Views: 464
Reputation: 21
Hints: Log (X ^ Y) = Y * Log (X)
The following numbers have 4 digits; the integer part of the decimal logarithm is 4 - 1 = 3. Log 1000 = 3, Log (9999) = 3,9999565683801924896154439559762
Upvotes: 2
Reputation: 4843
Try to think of a math operation that tells you the number of digits of a number. Apply that to N**K and see if you can't simplify the formula.
Upvotes: 1
Reputation: 116266
The 10 base log of N should give you the number of digits in it. This must be enough as a hint :-)
Upvotes: 15