A380246 Elimination order of the first person in a variation of the Josephus problem, where the number of skipped people correspond to the number of letters in consecutive numbers, called SpellUnder-Down.
1, 2, 1, 2, 5, 4, 2, 5, 6, 4, 6, 10, 3, 12, 6, 8, 15, 4, 13, 19, 14, 17, 5, 22, 18, 26, 6, 20, 13, 17, 19, 23, 7, 25, 21, 31, 22, 32, 8, 31, 38, 20, 29, 9, 27, 18, 43, 10, 15, 50, 37, 20, 16, 41, 11, 21, 39, 36, 34, 32, 29, 12, 36, 50, 27, 53, 35, 19, 45, 67, 13, 20, 70, 59, 74, 26, 21, 40, 65, 14, 49, 82, 33, 43, 28, 34, 53, 15
Offset: 1
Examples
Consider n = 4 people. The first person eliminated is number 4. This leaves the remaining people in order 1, 2, 3. The second person eliminated is number 1. Thus, person number 1 is eliminated in the second round, implying that a(4) = 2.
Crossrefs
Programs
-
Python
from num2words import num2words as n2w def spell(n): return sum(1 for c in n2w(n).replace(" and", "").replace(" ", "").replace(chr(44), "").replace("-", "")) def nthRow(n): l = [] for i in range(0,n): l.append(0) zp = 0 for j in range(1,n+1): zc = 0 while zc <= spell(j): if l[zp] == 0: zc += 1 zp += 1 zp = zp % n l[zp-1] = str(j) return l l = [] for i in range(1,89): l += [nthRow(i)[0]] print(l)
-
Python
from num2words import num2words as n2w def f(n): return sum(1 for c in n2w(n).replace(" and", "") if c.isalpha()) def a(n): c, i, J = 1, 0, list(range(1, n+1)) while len(J) > 0: i = (i + f(c))%len(J) q = J.pop(i) if q == 1: return c c = c+1 print([a(n) for n in range(1, 89)]) # Michael S. Branicky, Feb 15 2025
Comments