A362332 For n > 1, if n appears in the sequence then a(n) = lastindex(n), where lastindex(n) is the index of the last appearance of n. Otherwise a(n+1) = a(n)/(n+1) if (n+1)|a(n), otherwise a(n)*(n+1), a(1) = 1 and a(2) = 1*2.
1, 2, 6, 24, 120, 3, 21, 168, 1512, 15120, 166320, 13860, 180180, 12870, 858, 13728, 233376, 4200768, 79814592, 1596291840, 7, 154, 3542, 4, 100, 2600, 70200, 1965600, 57002400, 1900080, 58902480, 1884879360, 62201018880
Offset: 1
Keywords
Examples
a(2) = 2, as a(1) = 1 and 1 times 2 is 2. a(6) = 3, as a(3) = 6 = n, thus a(6) = 3. a(7) = 21, as a(6) = 3 and 3 times 7 is 21.
Links
- Michael De Vlieger, Table of n, a(n) for n = 1..4306
- Michael De Vlieger, Plot p(i)^e(i) | a(n) at (x,y) = (n,i) for n = 1..2048, with a color function representing e(i), where black represents e(i) = 1, red e(i) = 2, etc., 3X vertical exaggeration.
Programs
-
Mathematica
nn = 33; c[] := 0; Array[Set[{a[#], c[#]}, {#, #}] &, 2]; j = 2; Do[If[c[n] > 0, Set[k, c[n]], If[Divisible[j, n], Set[k, j/n], Set[k, j*n]]]; Set[{a[n], c[k], j}, {k, n, k}], {n, 3, nn}]; Array[a, nn] (* _Michael De Vlieger, Jun 23 2023 *)
-
PARI
pos(n, va) = for (k=1, #va, if (va[k] == n, return (k));); lista(nn) = my(va = vector(nn)); for (n=1, 2, va[n] = n); for (n=3, nn, my(p=pos(n, va)); if (p, va[n] = p, if (va[n-1] % n, va[n] = n*va[n-1], va[n] = va[n-1]/n); ); ); va; \\ Michel Marcus, Jun 23 2023
-
Python
from itertools import count, islice def A362332_gen(): # generator of terms a, ndict = 2, {1:1,2:2} yield from [1,2] for n in count(3): yield (a:= ndict[n] if n in ndict else (a*n if a%n else a//n)) ndict[a] = n A362332_list = list(islice(A362332_gen(),30)) # Chai Wah Wu, Jun 29 2023