login
A002963
Number of chisel strokes required for Roman numerals for n.
17
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,2
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
LINKS
Eric Weisstein's World of Mathematics, Roman Numerals
Wikipedia, Roman numerals
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 *)
PROG
(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
(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])))
CROSSREFS
Cf. A119310.
Sequence in context: A248222 A107918 A242392 * A046677 A283104 A109747
KEYWORD
base,easy,nonn,nice
EXTENSIONS
More terms from David W. Wilson
Data double-checked by M. F. Hasler, Jul 27 2016
STATUS
approved