#1
  1. No Profile Picture
    Registered User
    Devshed Newbie (0 - 499 posts)

    Join Date
    Sep 2012
    Posts
    1
    Rep Power
    0

    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 n-digits 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

    • b49P23TIvg agrees : I agree that the comma of "number, to" implies that the equation should be pow((sum of digits of n),3)==n . Confusing.
  2. #2
  3. Contributed User
    Devshed Specialist (4000 - 4499 posts)

    Join Date
    Jun 2005
    Posts
    4,392
    Rep Power
    1871
    So what bit is confusing you?

    - Reading in a number n ?
    - counting from pow(10,n-1) 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.
    If you dance barefoot on the broken glass of undefined behaviour, you've got to expect the occasional cut.
    If at first you don't succeed, try writing your phone number on the exam paper
  4. #3
  5. Contributing User
    Devshed Demi-God (4500 - 4999 posts)

    Join Date
    Aug 2011
    Posts
    4,894
    Rep Power
    481
    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!
  6. #4
  7. No Profile Picture
    Contributing User
    Devshed Intermediate (1500 - 1999 posts)

    Join Date
    Feb 2004
    Location
    San Francisco Bay
    Posts
    1,939
    Rep Power
    1313
    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 n-digit number is at least 10^(n-1). The sum of the cubes of the digits is at most (9^3)*n = 729*n. If n is at least 5, then 10^(n-1) 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

    • b49P23TIvg agrees : Way to solve the readers' exercise!

IMN logo majestic logo threadwatch logo seochat tools logo