Cody

Problem 63. Encode Roman Numerals

Solution 342256

Submitted on 30 Oct 2013 by John
This solution is locked. To view this solution, you need to provide a solution of the same size or smaller.

Test Suite

Test Status Code Input and Output
1   Pass
%% x = 1990; y_correct = 'MCMXC'; assert(isequal(dec2rom(x),y_correct))

lut = 32 32 32 32 32 32 32 73 32 32 73 73 32 73 73 73 32 32 73 86 32 32 32 86 32 32 86 73 32 86 73 73 86 73 73 73 32 32 73 88 32 32 32 32 32 32 32 88 32 32 88 88 32 88 88 88 32 32 88 76 32 32 32 76 32 32 76 88 32 76 88 88 76 88 88 88 32 32 88 67 32 32 32 32 32 32 32 67 32 32 67 67 32 67 67 67 32 32 67 68 32 32 32 68 32 32 68 67 32 68 67 67 68 67 67 67 32 32 67 77 32 32 32 32 32 32 32 77 32 32 77 77 32 77 77 77 ans = 32 30 20 1 ans = CX MMC ans = MCMXC

2   Pass
%% x = 2008; y_correct = 'MMVIII'; assert(isequal(dec2rom(x),y_correct))

lut = 32 32 32 32 32 32 32 73 32 32 73 73 32 73 73 73 32 32 73 86 32 32 32 86 32 32 86 73 32 86 73 73 86 73 73 73 32 32 73 88 32 32 32 32 32 32 32 88 32 32 88 88 32 88 88 88 32 32 88 76 32 32 32 76 32 32 76 88 32 76 88 88 76 88 88 88 32 32 88 67 32 32 32 32 32 32 32 67 32 32 67 67 32 67 67 67 32 32 67 68 32 32 32 68 32 32 68 67 32 68 67 67 68 67 67 67 32 32 67 77 32 32 32 32 32 32 32 77 32 32 77 77 32 77 77 77 ans = 33 21 11 9 ans = V I M I M I ans = MMVIII

3   Pass
%% x = 1666; y_correct = 'MDCLXVI'; assert(isequal(dec2rom(x),y_correct))

lut = 32 32 32 32 32 32 32 73 32 32 73 73 32 73 73 73 32 32 73 86 32 32 32 86 32 32 86 73 32 86 73 73 86 73 73 73 32 32 73 88 32 32 32 32 32 32 32 88 32 32 88 88 32 88 88 88 32 32 88 76 32 32 32 76 32 32 76 88 32 76 88 88 76 88 88 88 32 32 88 67 32 32 32 32 32 32 32 67 32 32 67 67 32 67 67 67 32 32 67 68 32 32 32 68 32 32 68 67 32 68 67 67 68 67 67 67 32 32 67 77 32 32 32 32 32 32 32 77 32 32 77 77 32 77 77 77 ans = 32 27 17 7 ans = DLV MCXI ans = MDCLXVI

4   Pass
%% x = 49; y_correct = 'XLIX'; assert(isequal(dec2rom(x),y_correct))

lut = 32 32 32 32 32 32 32 73 32 32 73 73 32 73 73 73 32 32 73 86 32 32 32 86 32 32 86 73 32 86 73 73 86 73 73 73 32 32 73 88 32 32 32 32 32 32 32 88 32 32 88 88 32 88 88 88 32 32 88 76 32 32 32 76 32 32 76 88 32 76 88 88 76 88 88 88 32 32 88 67 32 32 32 32 32 32 32 67 32 32 67 67 32 67 67 67 32 32 67 68 32 32 32 68 32 32 68 67 32 68 67 67 68 67 67 67 32 32 67 77 32 32 32 32 32 32 32 77 32 32 77 77 32 77 77 77 ans = 31 21 15 10 ans = XI LX ans = XLIX

5   Pass
%% x = 45; y_correct = 'XLV'; assert(isequal(dec2rom(x),y_correct))

lut = 32 32 32 32 32 32 32 73 32 32 73 73 32 73 73 73 32 32 73 86 32 32 32 86 32 32 86 73 32 86 73 73 86 73 73 73 32 32 73 88 32 32 32 32 32 32 32 88 32 32 88 88 32 88 88 88 32 32 88 76 32 32 32 76 32 32 76 88 32 76 88 88 76 88 88 88 32 32 88 67 32 32 32 32 32 32 32 67 32 32 67 67 32 67 67 67 32 32 67 68 32 32 32 68 32 32 68 67 32 68 67 67 68 67 67 67 32 32 67 77 32 32 32 32 32 32 32 77 32 32 77 77 32 77 77 77 ans = 31 21 15 6 ans = X LV ans = XLV

6   Pass
%% x = 0; y_correct = ''; assert(isempty(dec2rom(x)))

lut = 32 32 32 32 32 32 32 73 32 32 73 73 32 73 73 73 32 32 73 86 32 32 32 86 32 32 86 73 32 86 73 73 86 73 73 73 32 32 73 88 32 32 32 32 32 32 32 88 32 32 88 88 32 88 88 88 32 32 88 76 32 32 32 76 32 32 76 88 32 76 88 88 76 88 88 88 32 32 88 67 32 32 32 32 32 32 32 67 32 32 67 67 32 67 67 67 32 32 67 68 32 32 32 68 32 32 68 67 32 68 67 67 68 67 67 67 32 32 67 77 32 32 32 32 32 32 32 77 32 32 77 77 32 77 77 77 ans = 31 21 11 1 ans = ans = Empty string: 1-by-0