Take the 2-minute tour ×
Mathematics Stack Exchange is a question and answer site for people studying math at any level and professionals in related fields. It's 100% free, no registration required.

Apologies for what may be a simple question, but I don't have a background in mathematics beyond high school.

I'm trying to work out a formula, that when given a number, say 2, to treat this as "number of digits" and calculate the largest possible integer.

For example :

  • If 2, then largest number possible is 99
  • If 3, then largest number possible is 999
  • If 4, then largest number possible is 9999

My quick and dirty solution (programmers hat on here), is to just count upwards from 0 to the given number, appending 9, and returning the result, however there must be a mathematical formula that can do this in a cleaner and more efficient manner.

Thanks

share|improve this question
2  
Formula we can give, but it might not be more efficient as you expect... –  Aryabhata Apr 17 '12 at 20:40
    
Yes, the formula would be much less efficient than the method you give. –  Graphth Apr 17 '12 at 20:42
add comment

2 Answers 2

up vote 6 down vote accepted

In base $10$, the number you want is $10^n - 1$.

If you are passing strings around, your method will be fast enough.

If you are passing ints around, you can compute it using the above, but might have to worry about overflows etc. Of course, computing $10^n$ might be slower than just appending nines to your string...

So codewise it might be cleaner, but it need not be more efficient and might open up the overflow can of worms.

share|improve this answer
3  
Actually not just in base 10... In any base that uses "10" to signify the least number of two digits. –  Asaf Karagila Apr 17 '12 at 20:37
1  
@AsafKaragila: Right! Reminds me of the joke: There are 10 kinds of people. Those who know binary and those who don't :-) –  Aryabhata Apr 17 '12 at 20:39
1  
Actually there are 10 kinds of people: Those who know ternary numbers and those who don't. :-) (I think there must be infinitely many variations on this joke!) –  Asaf Karagila Apr 17 '12 at 20:43
    
@AsafKaragila: -) –  Aryabhata Apr 17 '12 at 20:45
add comment

Given $k$ how about $10^k-1$?

This number has only $9$'s and exactly $k$ digits. I suppose that this is what you meant. Note that this is not limited to decimal digits, you can do that in any base as long as "$10$" is the smallest number of two digits.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.