%I #15 Sep 20 2024 23:55:15
%S 1,2,3,4,5,6,7,8,9,10,11,13,17,19,22,23,26,41,46,47,53,55,59,74,83,91,
%T 95,99,104,106,130,133,146,149,152,159,167,173,213,239,249,299,319,
%U 383,454,467,545,613,623,636,641,646,698,916,931,1173,1197,1222,1257,1642,1650,1676,1760,1825,1916
%N Positions of records in A085908.
%C Numbers k such that for 1 <= j < k, the least 7-smooth number that starts with j is less than the least 7-smooth number that starts with k.
%C Record values are in A376280.
%H Robert Israel, <a href="/A376278/b376278.txt">Table of n, a(n) for n = 1..207</a>
%F A376280(n) = A085908(a(n)).
%e a(12) = 13 is a term because the least 7-smooth number starting with 13 is A085908(13) = 135 = 3^2 * 5 * 7, while A085908(j) < 135 for j < 13.
%p # using A085908 in the form of a list
%p J:= NULL: m:= 0: count:= 0:
%p for i from 1 to nops(A085908) do
%p if A085908[i] > m then
%p count:= count+1; m:= A085908[i]; J:= J,i
%p fi
%p od:
%p J;
%o (Python)
%o from itertools import count, islice
%o def A376278_gen(): # generator of terms
%o def f(x):
%o c = 0
%o i7 = 1
%o m = x
%o for i in count(0):
%o if i7 > x:
%o break
%o j5 = 1
%o r = m
%o for j in count(0):
%o if j5 > m:
%o break
%o k3 = 1
%o t = r
%o for k in count(0):
%o if k3 > r:
%o break
%o c += t.bit_length()
%o k3 *= 3
%o t //= 3
%o j5 *= 5
%o r //= 5
%o i7 *= 7
%o m //= 7
%o return c
%o c = 1
%o yield 1
%o for n in count(2):
%o for l in count(0):
%o kmin, kmax = n*10**l-1, (n+1)*10**l-1
%o mmin, mmax = f(kmin), f(kmax)
%o if mmax>mmin:
%o while kmax-kmin > 1:
%o kmid = kmax+kmin>>1
%o mmid = f(kmid)
%o if mmid > mmin:
%o kmax, mmax = kmid, mmid
%o else:
%o kmin, mmin = kmid, mmid
%o break
%o if kmax > c:
%o yield n
%o c = kmax
%o A376278_list = list(islice(A376278_gen(),30)) # _Chai Wah Wu_, Sep 20 2024
%Y Cf. A085908, A376280.
%K nonn,base
%O 1,2
%A _Robert Israel_, Sep 18 2024