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.

A060109 Numbers in Morse code, with 1 for a dot, 2 for a dash and 0 between digits/letters.

Original entry on oeis.org

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

Views

Author

Henry Bottomley, Feb 28 2001

Keywords

Examples

			a(10) = 12222022222 since 1 is ".----" and 0 is "-----".
		

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).

Programs

  • 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
    
  • 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 *)
  • 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

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