A145198 a(n) is the least number not already in the sequence and not the product of consecutive terms in the sequence.
1, 2, 3, 4, 5, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 57, 58, 59, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 73, 74, 75, 76, 77, 78, 79, 80
Offset: 1
Links
- Rémy Sigrist, Table of n, a(n) for n = 1..10000
Programs
-
PARI
{m=72; v=vector(m); z=2*m; u=vectorsmall(z); k=1; for(n=1, m, while(u[k], k++); v[n]=k; u[k]=1; j=n-1; p=k; while(j>0&&(p=p*v[j])<=z, u[p]=1; j--)); for(i=1, m, print1(v[i], ","))} \\ Klaus Brockhaus, Oct 06 2008 (HP 49G) HP 49G calculator program from Gerald Hillier, Oct 24 2008 << 0 OVER NDUPN ->LIST DUPDUP + 1 0 0 -> M V U K J P << 1 M FOR N K WHILE U OVER GET REPEAT 1 + END 'K' STO V N K PUT 'V' STO U K 1 PUT N 1 - 'J' STO K 'P' STO WHILE J 0 > IF THEN P V J GET * DUP 'P' STO M 2 * <= ELSE 0 END REPEAT P 1 PUT J 1 - 'J' STO END 'U' STO NEXT V >> >>
-
Python
from operator import mul from itertools import count, accumulate, islice from collections import deque def A145198_gen(): # generator of terms aset, alist = set(), deque() for k in count(1): if k in aset: aset.remove(k) else: yield k aset |= set(k*d for d in accumulate(alist,mul)) alist.appendleft(k) A145198_list = list(islice(A145198_gen(),50)) # Chai Wah Wu, Sep 01 2025
Extensions
Extended by Klaus Brockhaus, Oct 06 2008