Cody

Problem 44375. Missing five

Convert decimal numbers to a base-9 notation missing the digit 5

Too many five-themed problems? Wondering whether everything would be simpler if we just got rid of the digit 5? Let's try!

In a world without 5's, positive integers may be represented using a base-9 notation that uses only the digits 0, 1, 2, 3, 4, 6, 7, 8, and 9. We'll call this the "missing-5" notation. The following list shows the first 100 positive numbers (i.e. 1 through 100) using "missing-5" notation:

    '1'      '2'      '3'      '4'      '6'      '7'      '8'      '9'      '10'     '11' 
    '12'     '13'     '14'     '16'     '17'     '18'     '19'     '20'     '21'     '22' 
    '23'     '24'     '26'     '27'     '28'     '29'     '30'     '31'     '32'     '33' 
    '34'     '36'     '37'     '38'     '39'     '40'     '41'     '42'     '43'     '44' 
    '46'     '47'     '48'     '49'     '60'     '61'     '62'     '63'     '64'     '66' 
    '67'     '68'     '69'     '70'     '71'     '72'     '73'     '74'     '76'     '77' 
    '78'     '79'     '80'     '81'     '82'     '83'     '84'     '86'     '87'     '88' 
    '89'     '90'     '91'     '92'     '93'     '94'     '96'     '97'     '98'     '99' 
    '100'    '101'    '102'    '103'    '104'    '106'    '107'    '108'    '109'    '110'
    '111'    '112'    '113'    '114'    '116'    '117'    '118'    '119'    '120'    '121'

You may notice that this is simply the sorted list of positive numbers which do not contain the digit 5 in their decimal representation.

Your function should convert a positive decimal number N into its "missing-5" notation. For example

 dec2missing5(20)

should return '22' (the 20th positive number in missing-5 notation), and

 dec2missing5(100)

should return '121' (the 100th positive number in missing-5 notation)

Good luck!

Small print: Your function may output a number, a char array, or a string; whatever you find simpler (e.g. in the example above, valid outputs are 121, '121', or "121"). Input numbers in testsuite are always relatively low valued positive integers (<10,000)

Solution Stats

30.73% Correct | 69.27% Incorrect
Last solution submitted on Mar 19, 2019

Problem Comments

Solution Comments

Recent Solvers215

Suggested Problems

More from this Author38

Tags

Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

MATLAB Academy

New to MATLAB?

Learn MATLAB today!