September 17th, 2012, 12:41 PM

Need help with program
Ok so the assignment is:
"Write a program that asks for an integer input ‘n’ and print all integer numbers of ndigits for which the sum of the
digits of the number, to the power of three, is equal to the number itself.
For instance, for n=2, check all numbers in the range of 10 – 99. e.g 37 = 3^3+7^3"
And I'd like some help on how to do this with explanation.
Yours sincerely, fireflashx32
Comments on this post
September 17th, 2012, 01:36 PM

So what bit is confusing you?
 Reading in a number n ?
 counting from pow(10,n1) to pow(10,n)1 ?
 extracting digits from x ?
 calculating the sum of two cubes ?
Show us what steps you CAN achieve for yourself, then post a question about your code.
This isn't a homework dumping site.
September 17th, 2012, 01:55 PM

Interesting problem. We might ask
Are there a finite number of such numbers?
How does the answer change if we express n in a different base?
[code]
Code tags[/code] are essential for python code and Makefiles!
September 17th, 2012, 03:52 PM

Originally Posted by b49P23TIvg
Interesting problem. We might ask
Are there a finite number of such numbers?
How does the answer change if we express n in a different base?
Of course there's only a finite number: an ndigit number is at least 10^(n1). The sum of the cubes of the digits is at most (9^3)*n = 729*n. If n is at least 5, then 10^(n1) is always greater than 729*n (exercise for the reader). Therefore, all such numbers must have fewer than 5 digits, so there can be at most 10,000 such numbers, QED.
Comments on this post