Year-end appeal: Please make a donation to the OEIS Foundation to support ongoing development and maintenance of the OEIS. We are now in our 61st year, we have over 378,000 sequences, and we’ve reached 11,000 citations (which often say “discovered thanks to the OEIS”).
%I #36 Sep 16 2024 18:24:16
%S 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,20,21,22,24,25,26,27,28,
%T 30,32,33,34,35,36,39,40,42,44,45,48,49,50,51,52,54,55,56,60,63,64,65,
%U 66,68,70,72,75,77,78,80,81,84,85,88,90,91,96,98,99,100,102,104,105
%N 17-smooth numbers: numbers whose prime divisors are all <= 17.
%H William A. Tedeschi, <a href="/A080681/b080681.txt">Table of n, a(n) for n = 1..10000</a>
%F Sum_{n>=1} 1/a(n) = Product_{primes p <= 17} p/(p-1) = (2*3*5*7*11*13*17)/(1*2*4*6*10*12*16) = 17017/3072. - _Amiram Eldar_, Sep 22 2020
%t mx = 120; Sort@ Flatten@ Table[ 2^i*3^j*5^k*7^l*11^m*13^n*17^o, {i, 0, Log[2, mx]}, {j, 0, Log[3, mx/2^i]}, {k, 0, Log[5, mx/(2^i*3^j)]}, {l, 0, Log[7, mx/(2^i*3^j*5^k)]}, {m, 0, Log[11, mx/(2^i*3^j*5^k*7^l)]}, {n, 0, Log[13, mx/(2^i*3^j*5^k*7^l*11^m)]}, {o, 0, Log[17, mx/(2^i*3^j*5^k*7^l*11^m*13^n)]}] (* _Robert G. Wilson v_, Aug 17 2012 *)
%o (PARI) test(n)= {m=n; forprime(p=2,17, while(m%p==0,m=m/p)); return(m==1)}
%o for(n=1,200,if(test(n),print1(n",")))
%o (PARI) list(lim,p=17)=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
%o (Magma) [n: n in [1..150] | PrimeDivisors(n) subset PrimesUpTo(17)]; // _Bruno Berselli_, Sep 24 2012
%o (Python)
%o import heapq
%o from itertools import islice
%o from sympy import primerange
%o def agen(p=17): # generate all p-smooth terms
%o v, oldv, h, psmooth_primes, = 1, 0, [1], list(primerange(1, p+1))
%o while True:
%o v = heapq.heappop(h)
%o if v != oldv:
%o yield v
%o oldv = v
%o for p in psmooth_primes:
%o heapq.heappush(h, v*p)
%o print(list(islice(agen(), 70))) # _Michael S. Branicky_, Nov 20 2022
%o (Python)
%o from sympy import integer_log, prevprime
%o def A080681(n):
%o def bisection(f,kmin=0,kmax=1):
%o while f(kmax) > kmax: kmax <<= 1
%o while kmax-kmin > 1:
%o kmid = kmax+kmin>>1
%o if f(kmid) <= kmid:
%o kmax = kmid
%o else:
%o kmin = kmid
%o return kmax
%o 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))
%o def f(x): return n+x-g(x,17)
%o return bisection(f,n,n) # _Chai Wah Wu_, Sep 16 2024
%Y For p-smooth numbers with other values of p, see A003586, A051037, A002473, A051038, A080197, A080682, A080683.
%K easy,nonn
%O 1,2
%A _Cino Hilliard_, Mar 02 2003