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

a(n) is the Verhoeff check digit for n.
1

%I #49 Aug 22 2024 15:44:18

%S 0,5,7,6,3,8,2,0,9,1,9,3,1,2,5,0,6,8,4,7,4,5,7,6,3,8,2,0,9,1,1,7,9,8,

%T 0,5,4,2,6,3,8,2,0,1,9,4,5,7,3,6,5,4,2,3,6,1,7,9,0,8,7,1,4,0,8,3,9,6,

%U 2,5,3,9,6,5,2,7,1,4,8,0,0,6,8,7,4,9,3,1

%N a(n) is the Verhoeff check digit for n.

%C The Verhoeff checksum is a single-digit error-detecting code.

%H Wikipedia, <a href="https://en.wikipedia.org/wiki/Dihedral_group">Dihedral group</a>.

%H Wikipedia, <a href="https://en.wikipedia.org/wiki/Verhoeff_algorithm">Verhoeff algorithm</a>.

%o (Python)

%o d_table = [

%o [0, 1, 2, 3, 4, 5, 6, 7, 8, 9],[1, 2, 3, 4, 0, 6, 7, 8, 9, 5],

%o [2, 3, 4, 0, 1, 7, 8, 9, 5, 6],[3, 4, 0, 1, 2, 8, 9, 5, 6, 7],

%o [4, 0, 1, 2, 3, 9, 5, 6, 7, 8],[5, 9, 8, 7, 6, 0, 4, 3, 2, 1],

%o [6, 5, 9, 8, 7, 1, 0, 4, 3, 2],[7, 6, 5, 9, 8, 2, 1, 0, 4, 3],

%o [8, 7, 6, 5, 9, 3, 2, 1, 0, 4],[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]

%o ]

%o p_table = [

%o [0, 1, 2, 3, 4, 5, 6, 7, 8, 9],[1, 5, 7, 6, 2, 8, 3, 0, 9, 4],

%o [5, 8, 0, 3, 7, 9, 6, 1, 4, 2],[8, 9, 1, 6, 0, 4, 3, 5, 2, 7],

%o [9, 4, 5, 3, 1, 2, 6, 8, 7, 0],[4, 2, 8, 6, 5, 7, 3, 9, 0, 1],

%o [2, 7, 9, 3, 8, 0, 6, 4, 1, 5],[7, 0, 4, 6, 9, 1, 3, 2, 5, 8]

%o ]

%o j_table = [0, 4, 3, 2, 1, 5, 6, 7, 8, 9]

%o def a(n):

%o c, ds = 0, list(map(int, str(n*10)[::-1]))

%o for i, d in enumerate(ds):

%o c = d_table[c][p_table[i % 8][d]]

%o return j_table[c]

%o print([a(n) for n in range(0, 55)])

%Y Cf. A093018.

%K nonn,easy,base

%O 0,2

%A _Darío Clavijo_, Jul 25 2024