Number with greatest product of digits between two given numbers

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • DL33
    New Member
    • Jan 2019
    • 1

    #1

    Number with greatest product of digits between two given numbers

    How do I find a number between two given numbers (let's call them min and max), which has the greatest product of digits than any other number in that range? (If there are several such numbers, that's fine.)

    For example:
    + min = 390, max = 430 => answer is 399
    + min = 400, max = 430 => answer is 429
    + min = 1378, max = 1594 => answer is 1589 (this one is not as obvious as previous, because 1499 is not the one)

    The problem is that min and max can be really huge - up to 10^10000, therefore I can just iterate through the range and find the answer.

    Please explain the algorithm. Preferrably Java.
  • ornfulnorthea
    New Member
    • Jun 2026
    • 1

    #2
    Brute force is impossible because the numbers can have up to 10,000 digits. Instead, you want to construct the number in the interval [min,max][min,max][min,max] whose product of digits is maximal whose product of digits is maximal.

    Comment

    Working...