|
|
A061493
|
|
Roman numerals written using 1 for I, 2 for V, 3 for X, 4 for L, 5 for C, 6 for D, 7 for M.
|
|
19
|
|
|
1, 11, 111, 12, 2, 21, 211, 2111, 13, 3, 31, 311, 3111, 312, 32, 321, 3211, 32111, 313, 33, 331, 3311, 33111, 3312, 332, 3321, 33211, 332111, 3313, 333, 3331, 33311, 333111, 33312, 3332, 33321, 333211, 3332111, 33313, 34, 341, 3411, 34111, 3412
(list;
graph;
refs;
listen;
history;
text;
internal format)
|
|
|
OFFSET
|
1,2
|
|
COMMENTS
|
The Romans did not have 0 as a number, which is why there was no year zero (1 B.C. is followed by 1 A.D.).
The initial "N" (nulla, meaning "nothing") was used as a zero symbol in a table of Roman numerals by Bede or his colleague around 725. (End)
3999 (MMMCMXCIX) is the largest decimal number that has a well-defined Roman numeral representation. Therefore the sequence deliberately stops there to avoid the ambiguous representations of larger numbers. - Jamie Robert Creasey, May 01 2021
|
|
LINKS
|
|
|
FORMULA
|
|
|
EXAMPLE
|
a(14) = 312 because 14 = XIV in Roman, and I,V,X are coded as 1,2,3 respectively.
a(66)= 4321, LXVI is 50+10+5+1= 66, a(44)=3412, XLIV is -10+50-1+5= 44
|
|
MATHEMATICA
|
Array[FromDigits[Characters@ RomanNumeral[#] /. {"I" -> 1, "V" -> 2, "X" -> 3, "L" -> 4, "C" -> 5, "D" -> 6, "M" -> 7}] &, 44] (* Michael De Vlieger, May 01 2021 *)
|
|
PROG
|
(Haskell)
a061493 n = read $ r 1 [] n :: Integer where
r _ roms 0 = roms
r p roms z = case p of
1 -> r 2 (d '1' '2' '3' m) z'
2 -> r 3 (d '3' '4' '5' m ++ roms) z'
3 -> r 4 (d '5' '6' '7' m ++ roms) z'
4 -> replicate z '7' ++ roms
where (z', m) = divMod z 10
d i j k c =
[[], [i], [i, i], [i, i, i], [i, j], [j], [j, i], [j, i, i], [j, i, i, i], [i, k]] !! c
(PARI) {A061493(n, s="", c=[1000, 7, 900, 57, 500, 6, 400, 56, 100, 5, 90, 35, 50, 4, 40, 34, 10, 3, 9, 13, 5, 2, 4, 12, 1, 1])= forstep(i=1, #c, 2, while(n>=c[i], n-=c[i]; s=Str(s, c[i+1]))); eval(s)} \\ M. F. Hasler, Jan 11 2015
(Python)
def f(s, k):
return s[:2] if k==4 else (s[1]*(k>=5)+s[0]*(k%5) if k<9 else s[0]+s[2])
def a(n):
m, c, x, i = n//1000, (n%1000)//100, (n%100)//10, n%10
return int("7"*m + f("567", c) + f("345", x) + f("123", i))
|
|
CROSSREFS
|
|
|
KEYWORD
|
easy,nonn,base
|
|
AUTHOR
|
|
|
EXTENSIONS
|
|
|
STATUS
|
approved
|
|
|
|