cp's OEIS Frontend

This is a front-end for the Online Encyclopedia of Integer Sequences, made by Christian Perfect. The idea is to provide OEIS entries in non-ancient HTML, and then to think about how they're presented visually. The source code is on GitHub.

Showing 1-2 of 2 results.

A002963 Number of chisel strokes required for Roman numerals for n.

Original entry on oeis.org

1, 2, 3, 3, 2, 3, 4, 5, 3, 2, 3, 4, 5, 5, 4, 5, 6, 7, 5, 4, 5, 6, 7, 7, 6, 7, 8, 9, 7, 6, 7, 8, 9, 9, 8, 9, 10, 11, 9, 4, 5, 6, 7, 7, 6, 7, 8, 9, 7, 2, 3, 4, 5, 5, 4, 5, 6, 7, 5, 4, 5, 6, 7, 7, 6, 7, 8, 9, 7, 6, 7, 8, 9, 9, 8, 9, 10, 11, 9, 8, 9, 10, 11, 11, 10, 11, 12, 13, 11, 4, 5, 6, 7, 7, 6, 7, 8, 9, 7, 2, 3, 4
Offset: 1

Views

Author

Keywords

Comments

Chisel strokes for numerals: I,1; V,2; X,2; L,2; C ( = < ),2; D,3; M,4.
For more about Roman numerals, see A006968.
a(A002964(n)) = n. - Reinhard Zumkeller, Apr 14 2013

Crossrefs

Programs

  • Haskell
    a002963 = ch 0 . a061493 where
         ch s 0 = s
         ch s x = ch (s + [0,1,2,2,2,2,3,4] !! d') x'
                  where  (x',d) = divMod x 10; d' = fromInteger d
    -- Reinhard Zumkeller, Apr 14 2013
    
  • Maple
    with(StringTools): A002963 := proc(n) local r: r:=convert(n, roman): return add(parse(SubstituteAll( SubstituteAll( SubstituteAll( SubstituteAll( SubstituteAll( SubstituteAll( SubstituteAll(r[j], "I", "1"), "V", "2"), "X", "2"), "L", "2"), "C", "2"), "D", "3"), "M", "4")), j=1..length(r)): end: seq(A002963(n), n=1..102); # Nathaniel Johnston, May 18 2011
  • Mathematica
    a[n_] := Characters[ IntegerString[n, "Roman"]] /. {"I" -> 1, "V" -> 2, "X" -> 2, "L" -> 2, "C" -> 2, "D" -> 3, "M" -> 4} // Total; Table[a[n], {n, 1, 102}] (* Jean-François Alcover, Sep 10 2013 *)
  • PARI
    {A002963(n, c=[1000, 4, 900, 6, 500, 3, 400, 5, 100, 2, 90, 4, 50, 2, 40, 4, 10, 2, 9, 3, 5, 2, 4, 3, 1, 1], s=0)= forstep(i=1, #c, 2, while(n>=c[i], n-=c[i]; s+=c[i+1])); s} \\ M. F. Hasler, Jul 27 2016
    
  • Python
    a002963 = lambda n: sum((d+1-(d==2))*(i%5)+(d+2-(d==1))*(i>4) if (i+1)%5 else 3+d+(d==2)*(i==9) for d,i in enumerate(map(int,str(n)[::-1])))
    # Nicholas Stefan Georgescu, Feb 27 2023

Extensions

More terms from David W. Wilson
Data double-checked by M. F. Hasler, Jul 27 2016

A036788 Length of Roman notation for n <= length of decimal representation.

Original entry on oeis.org

1, 5, 10, 11, 15, 20, 40, 50, 51, 55, 60, 90, 100, 101, 102, 104, 105, 106, 109, 110, 111, 115, 120, 140, 150, 151, 155, 160, 190, 200, 201, 205, 210, 250, 300, 400, 401, 405, 410, 450, 500, 501, 502, 504, 505, 506, 509, 510, 511, 515, 520, 540, 550, 551, 555
Offset: 1

Views

Author

Keywords

Comments

The Roman numeration system used here is the naive one taught in primary school. This sequence, like many others involving numeration systems, is neither well-defined nor interesting for large values of n. - N. J. A. Sloane, Jul 03 2008

Examples

			15 = XV has length 2 in both notations.
		

Crossrefs

Programs

  • Haskell
    a036788 n = a036788_list !! (n-1)
    a036788_list = [x | x <- [1..], a006968 x <= a055642 x]
    -- Reinhard Zumkeller, Apr 20 2013
  • Maple
    for n from 1 to 3999 do if(length(convert(n, roman)) <= length(n))then printf("%d, ", n): fi: od: # Nathaniel Johnston, May 18 2011
  • Mathematica
    Select[Range[560],StringLength[IntegerString[#,"Roman"]]<= IntegerLength[ #]&] (* Harvey P. Dale, Dec 18 2011 *)

Formula

A006968(a(n)) <= A055642(a(n)). - Reinhard Zumkeller, Apr 20 2013

Extensions

Corrected and extended by Larry Reeves (larryr(AT)acm.org), Sep 25 2000
Showing 1-2 of 2 results.