login

Year-end appeal: Please make a donation to the OEIS Foundation to support ongoing development and maintenance of the OEIS. We are now in our 61st year, we have over 378,000 sequences, and we’ve reached 11,000 citations (which often say “discovered thanks to the OEIS”).

A060109
Numbers in Morse code, with 1 for a dot, 2 for a dash and 0 between digits/letters.
11
22222, 12222, 11222, 11122, 11112, 11111, 21111, 22111, 22211, 22221, 12222022222, 12222012222, 12222011222, 12222011122, 12222011112, 12222011111, 12222021111, 12222022111, 12222022211, 12222022221, 11222022222, 11222012222, 11222011222, 11222011122, 11222011112, 11222011111
OFFSET
0,1
LINKS
Wikipedia, Morse code
FORMULA
a(n) A007089(A060110(n)) = a(floor(n/10))*10^6 + a(n%10) for n > 9 and a(n) = 33333 - a(n-5) for n%10 > 4, where % is the modulo (remainder) operator. - M. F. Hasler, Jun 22 2020
EXAMPLE
a(10) = 12222022222 since 1 is ".----" and 0 is "-----".
MATHEMATICA
With[{a = Association@ Array[# -> If[# < 6, PadRight[ConstantArray[1, #], 5, 2], PadRight[ConstantArray[2, # - 5], 5, 1]] &, 10, 0]}, Array[FromDigits@ Flatten@ Riffle[Map[Lookup[a, #] &, IntegerDigits[#]], 0] &, 25]] (* Michael De Vlieger, Nov 02 2020 *)
PROG
(Haskell)
import Data.List (inits, tails)
a060109 n = if n == 0 then 22222 else read (conv n) :: Integer where
conv 0 = []
conv x = conv x' ++ mCode !! d where (x', d) = divMod x 10
mCode = map ('0' :) (mc ++ (reverse $ init $ tail $ map reverse mc))
mc = zipWith (++) (inits "111111") (tails "22222")
-- Reinhard Zumkeller, Feb 20 2015
(PARI) apply( {A060109(n)=if(n>9, self()(n\10)*10^6)+fromdigits([1+(abs(k-n%10)>2)|k<-[3..7]])}, [0..39]) \\ M. F. Hasler, Jun 22 2020
CROSSREFS
Cf. A059852 (Morse code for letters), A008777 (number of dots and dashes).
Cf. A060110 (these base-3 numbers converted to decimal), A321332 (duration of the code for n).
Sequence in context: A225998 A209396 A210295 * A217875 A253737 A185608
KEYWORD
base,nonn
AUTHOR
Henry Bottomley, Feb 28 2001
STATUS
approved