OFFSET
1,2
COMMENTS
Coincides for the first 111 terms with A174228 (divisors of 24!). - Bruno Berselli, Sep 24 2012
LINKS
William A. Tedeschi, Table of n, a(n) for n = 1..10000
FORMULA
Sum_{n>=1} 1/a(n) = Product_{primes p <= 23} p/(p-1) = (2*3*5*7*11*13*17*19*23)/(1*2*4*6*10*12*16*18*22) = 676039/110592. - Amiram Eldar, Sep 22 2020
MAPLE
select(t -> max(numtheory:-factorset(t)) <= 23, [$1..1000]); # Robert Israel, Jan 22 2016
MATHEMATICA
mx = 100; Sort@ Flatten@ Table[ 2^a*3^b*5^c*7^d*11^e*13^f*17^g*19^h*23^i, {a, 0, Log[2, mx]}, {b, 0, Log[3, mx/2^a]}, {c, 0, Log[5, mx/(2^a*3^b)]}, {d, 0, Log[7, mx/(2^a*3^b*5^c)]}, {e, 0, Log[11, mx/(2^a*3^b*5^c*7^d)]}, {f, 0, Log[13, mx/(2^a*3^b*5^c*7^d*11^e)]}, {g, 0, Log[17, mx/(2^a*3^b*5^c*7^d*11^e*13^f)]}, {h, 0, Log[19, mx/(2^a*3^b*5^c*7^d*11^e*13^f*17^g)]}, {i, 0, Log[23, mx/(2^a*3^b*5^c*7^d*11^e*13^f*17^g*19^h)]}] (* Robert G. Wilson v, Jan 19 2016 *)
PROG
(PARI) test(n)=m=n; forprime(p=2, 23, while(m%p==0, m=m/p)); return(m==1)
for(n=1, 100, if(test(n), print1(n", ")))
(PARI) list(lim, p=23)=if(p==2, return(powers(2, logint(lim\1, 2)))); my(v=[], q=precprime(p-1), t=1); for(e=0, logint(lim\=1, p), v=concat(v, list(lim\t, q)*t); t*=p); Set(v) \\ Charles R Greathouse IV, Apr 16 2020
(Magma) [n: n in [1..100] | PrimeDivisors(n) subset PrimesUpTo(23)]; // Bruno Berselli, Sep 24 2012
(Python)
import heapq
from itertools import islice
from sympy import primerange
def agen(p=23): # generate all p-smooth terms
v, oldv, h, psmooth_primes, = 1, 0, [1], list(primerange(1, p+1))
while True:
v = heapq.heappop(h)
if v != oldv:
yield v
oldv = v
for p in psmooth_primes:
heapq.heappush(h, v*p)
print(list(islice(agen(), 72))) # Michael S. Branicky, Nov 20 2022
(Python)
from sympy import integer_log, prevprime
def A080683(n):
def bisection(f, kmin=0, kmax=1):
while f(kmax) > kmax: kmax <<= 1
while kmax-kmin > 1:
kmid = kmax+kmin>>1
if f(kmid) <= kmid:
kmax = kmid
else:
kmin = kmid
return kmax
def g(x, m): return sum((x//3**i).bit_length() for i in range(integer_log(x, 3)[0]+1)) if m==3 else sum(g(x//(m**i), prevprime(m))for i in range(integer_log(x, m)[0]+1))
def f(x): return n+x-g(x, 23)
return bisection(f, n, n) # Chai Wah Wu, Sep 16 2024
CROSSREFS
KEYWORD
easy,nonn
AUTHOR
Cino Hilliard, Mar 02 2003
STATUS
approved