A077332
Smallest number beginning with 7 and having exactly n distinct prime divisors.
Original entry on oeis.org
7, 72, 70, 714, 7140, 71610, 746130, 70136220, 703600590, 70015935990, 700288518930, 7420738134810, 701098433345310, 70007243563797540, 757887406446280110, 70025936403159126390, 7001749954335151685670, 700007496840185797172910
Offset: 1
A077333
Smallest number beginning with 8 and having exactly n distinct prime divisors.
Original entry on oeis.org
8, 80, 84, 840, 8190, 81510, 870870, 80059980, 800509710, 8254436190, 800680310430, 8222980095330, 800160280950030, 80008785365579070, 843685980760953330, 80058789202898516010, 8001338333881400327820, 800009744613910196656290
Offset: 1
A106412
Smallest number beginning with 2 that is the product of exactly n distinct primes.
Original entry on oeis.org
2, 21, 222, 210, 2310, 201630, 2012010, 20030010, 223092870, 20090100030, 200560490130, 20055767721990, 2000029432190790, 20384767656323070, 2000848249650860610, 200001648981983238390, 2183473617971732996910
Offset: 1
a(1) = 2, a(5) = 2310 = 2*3*5*7*11.
-
from itertools import count
from math import prod, isqrt
from sympy import primerange, integer_nthroot, primepi, primorial
def A106412(n):
if n == 1: return 2
def g(x,a,b,c,m): yield from (((d,) for d in enumerate(primerange(b+1,isqrt(x//c)+1),a+1)) if m==2 else (((a2,b2),)+d for a2,b2 in enumerate(primerange(b+1,integer_nthroot(x//c,m)[0]+1),a+1) for d in g(x,a2,b2,c*b2,m-1)))
def f(x): return int(sum(primepi(x//prod(c[1] for c in a))-a[-1][0] for a in g(x,0,1,1,n)))
for l in count(len(str(primorial(n)))-1):
kmin, kmax = 2*10**l-1, 3*10**l-1
mmin, mmax = f(kmin), f(kmax)
if mmax>mmin:
while kmax-kmin > 1:
kmid = kmax+kmin>>1
mmid = f(kmid)
if mmid > mmin:
kmax, mmax = kmid, mmid
else:
kmin, mmin = kmid, mmid
return kmax # Chai Wah Wu, Sep 12 2024
A106413
Smallest number beginning with 3 that is the product of exactly n distinct primes.
Original entry on oeis.org
3, 33, 30, 330, 3570, 30030, 3015870, 30120090, 300690390, 30043474230, 304075581810, 30035662366710, 304250263527210, 30078810535603830, 3001252188252588270, 32589158477190044730, 3003056284355533696290
Offset: 1
a(1) = 3, a(6) = 30030 = 2*3*5*7*11*13.
-
f:= proc(n) uses priqueue; local pq, t, p, x, i,L,v,Lp;
initialize(pq);
L:= [seq(ithprime(i),i=1..n)];
v:= convert(L,`*`);
insert([-v, L], pq);
do
t:= extract(pq);
x:= -t[1];
if floor(x/10^ilog10(x)) = 3 then return x fi;
L:= t[2];
p:= nextprime(L[-1]);
for i from n to 1 by -1 do
if i < n and L[i] <> prevprime(L[i+1]) then break fi;
Lp:= [op(L[1..i-1]),op(L[i+1..n]),p];
insert([-convert(Lp,`*`),Lp], pq)
od od;
end proc:
map(f, [$1..30]); # Robert Israel, Sep 12 2024
-
from itertools import count
from math import prod, isqrt
from sympy import primerange, integer_nthroot, primepi, primorial
def A106413(n):
if n == 1: return 3
def g(x,a,b,c,m): yield from (((d,) for d in enumerate(primerange(b+1,isqrt(x//c)+1),a+1)) if m==2 else (((a2,b2),)+d for a2,b2 in enumerate(primerange(b+1,integer_nthroot(x//c,m)[0]+1),a+1) for d in g(x,a2,b2,c*b2,m-1)))
def f(x): return int(sum(primepi(x//prod(c[1] for c in a))-a[-1][0] for a in g(x,0,1,1,n)))
for l in count(len(str(primorial(n)))-1):
kmin, kmax = 3*10**l-1, 4*10**l-1
mmin, mmax = f(kmin), f(kmax)
if mmax>mmin:
while kmax-kmin > 1:
kmid = kmax+kmin>>1
mmid = f(kmid)
if mmid > mmin:
kmax, mmax = kmid, mmid
else:
kmin, mmin = kmid, mmid
return kmax # Chai Wah Wu, Sep 12 2024
A106414
Smallest number beginning with 4 that is the product of exactly n distinct primes.
Original entry on oeis.org
41, 46, 42, 462, 4290, 43890, 4001970, 40029990, 406816410, 40026056070, 408036859230, 40013061952710, 405332750552730, 40111962162442170, 4000228915204892370, 40909794684132183810, 4000669166940700163910
Offset: 1
a(1) = 41, a(3) = 42 = 2*3*7..
-
from itertools import count
from math import prod, isqrt
from sympy import primerange, integer_nthroot, primepi, primorial
def A106414(n):
if n == 1: return 41
def g(x,a,b,c,m): yield from (((d,) for d in enumerate(primerange(b+1,isqrt(x//c)+1),a+1)) if m==2 else (((a2,b2),)+d for a2,b2 in enumerate(primerange(b+1,integer_nthroot(x//c,m)[0]+1),a+1) for d in g(x,a2,b2,c*b2,m-1)))
def f(x): return int(sum(primepi(x//prod(c[1] for c in a))-a[-1][0] for a in g(x,0,1,1,n)))
for l in count(len(str(primorial(n)))-1):
kmin, kmax = 4*10**l-1, 5*10**l-1
mmin, mmax = f(kmin), f(kmax)
if mmax>mmin:
while kmax-kmin > 1:
kmid = kmax+kmin>>1
mmid = f(kmid)
if mmid > mmin:
kmax, mmax = kmid, mmid
else:
kmin, mmin = kmid, mmid
return kmax # Chai Wah Wu, Sep 12 2024
A106415
Smallest number beginning with 5 that is the product of exactly n distinct primes.
Original entry on oeis.org
5, 51, 506, 510, 5610, 51870, 510510, 50169210, 504894390, 50012172210, 503520607590, 50001975553530, 501601785815130, 50073188107872930, 5000089945706645790, 50617203592231346070, 5000858931483646541310
Offset: 1
-
from itertools import count
from math import prod, isqrt
from sympy import primerange, integer_nthroot, primepi, primorial
def A106415(n):
if n == 1: return 5
def g(x,a,b,c,m): yield from (((d,) for d in enumerate(primerange(b+1,isqrt(x//c)+1),a+1)) if m==2 else (((a2,b2),)+d for a2,b2 in enumerate(primerange(b+1,integer_nthroot(x//c,m)[0]+1),a+1) for d in g(x,a2,b2,c*b2,m-1)))
def f(x): return int(sum(primepi(x//prod(c[1] for c in a))-a[-1][0] for a in g(x,0,1,1,n)))
for l in count(len(str(primorial(n)))-1):
kmin, kmax = 5*10**l-1, 6*10**l-1
mmin, mmax = f(kmin), f(kmax)
if mmax>mmin:
while kmax-kmin > 1:
kmid = kmax+kmin>>1
mmid = f(kmid)
if mmid > mmin:
kmax, mmax = kmid, mmid
else:
kmin, mmin = kmid, mmid
return kmax # Chai Wah Wu, Sep 12 2024
A106416
Smallest number beginning with 6 that is the product of exactly n distinct primes.
Original entry on oeis.org
61, 6, 66, 690, 6006, 62790, 690690, 60138078, 606996390, 6469693230, 600319429710, 60007743265470, 600277546959090, 60039293728424010, 614889782588491410, 60865792091025932010, 6000526229622444289770
Offset: 1
-
from itertools import count
from math import prod, isqrt
from sympy import primerange, integer_nthroot, primepi, primorial
def A106416(n):
if n == 1: return 61
def g(x,a,b,c,m): yield from (((d,) for d in enumerate(primerange(b+1,isqrt(x//c)+1),a+1)) if m==2 else (((a2,b2),)+d for a2,b2 in enumerate(primerange(b+1,integer_nthroot(x//c,m)[0]+1),a+1) for d in g(x,a2,b2,c*b2,m-1)))
def f(x): return int(sum(primepi(x//prod(c[1] for c in a))-a[-1][0] for a in g(x,0,1,1,n)))
for l in count(len(str(primorial(n)))-1):
kmin, kmax = 6*10**l-1, 7*10**l-1
mmin, mmax = f(kmin), f(kmax)
if mmax>mmin:
while kmax-kmin > 1:
kmid = kmax+kmin>>1
mmid = f(kmid)
if mmid > mmin:
kmax, mmax = kmid, mmid
else:
kmin, mmin = kmid, mmid
return kmax # Chai Wah Wu, Sep 12 2024
A106417
Smallest number beginning with 7 that is the product of exactly n distinct primes.
Original entry on oeis.org
7, 74, 70, 714, 7410, 71610, 746130, 70387590, 703600590, 70015935990, 700288518930, 7420738134810, 701098433345310, 70016268785853390, 757887406446280110, 70025936403159126390, 7001749954335151685670
Offset: 1
-
from itertools import count
from math import prod, isqrt
from sympy import primerange, integer_nthroot, primepi, primorial
def A106417(n):
if n == 1: return 7
def g(x,a,b,c,m): yield from (((d,) for d in enumerate(primerange(b+1,isqrt(x//c)+1),a+1)) if m==2 else (((a2,b2),)+d for a2,b2 in enumerate(primerange(b+1,integer_nthroot(x//c,m)[0]+1),a+1) for d in g(x,a2,b2,c*b2,m-1)))
def f(x): return int(sum(primepi(x//prod(c[1] for c in a))-a[-1][0] for a in g(x,0,1,1,n)))
for l in count(len(str(primorial(n)))-1):
kmin, kmax = 7*10**l-1, 8*10**l-1
mmin, mmax = f(kmin), f(kmax)
if mmax>mmin:
while kmax-kmin > 1:
kmid = kmax+kmin>>1
mmid = f(kmid)
if mmid > mmin:
kmax, mmax = kmid, mmid
else:
kmin, mmin = kmid, mmid
return kmax # Chai Wah Wu, Sep 12 2024
A106418
Smallest number beginning with 8 that is the product of exactly n distinct primes.
Original entry on oeis.org
83, 82, 805, 858, 8610, 81510, 870870, 80150070, 800509710, 8254436190, 800680310430, 8222980095330, 800160280950030, 80008785365579070, 843685980760953330, 80058789202898516010, 8003887646839494820410
Offset: 1
-
from itertools import count
from math import prod, isqrt
from sympy import primerange, integer_nthroot, primepi, primorial
def A106418(n):
if n == 1: return 83
def g(x,a,b,c,m): yield from (((d,) for d in enumerate(primerange(b+1,isqrt(x//c)+1),a+1)) if m==2 else (((a2,b2),)+d for a2,b2 in enumerate(primerange(b+1,integer_nthroot(x//c,m)[0]+1),a+1) for d in g(x,a2,b2,c*b2,m-1)))
def f(x): return int(sum(primepi(x//prod(c[1] for c in a))-a[-1][0] for a in g(x,0,1,1,n)))
def bisection(f,kmin,kmax,mmin,mmax):
while kmax-kmin > 1:
kmid = kmax+kmin>>1
mmid = f(kmid)
if mmid > mmin:
kmax, mmax = kmid, mmid
else:
kmin, mmin = kmid, mmid
return kmax
for l in count(len(str(primorial(n)))-1):
kmin, kmax = 8*10**l-1, 9*10**l-1
mmin, mmax = f(kmin), f(kmax)
if mmax>mmin: return bisection(f,kmin,kmax,mmin,mmax) # Chai Wah Wu, Aug 31 2024
A106422
Smallest number beginning with 2 and having exactly n prime divisors counted with multiplicity.
Original entry on oeis.org
2, 21, 20, 24, 200, 216, 288, 256, 2592, 2304, 2048, 20736, 20480, 24576, 204800, 221184, 294912, 262144, 2654208, 2359296, 2097152, 21233664, 20971520, 25165824, 209715200, 226492416, 201326592, 268435456, 2013265920, 2415919104
Offset: 1
a(1) = 2, a(5) = 200 = 2^3*5^2.
-
f:= proc(n) uses priqueue; local pq, t, p, x, i;
initialize(pq);
insert([-2^n, 2$n], pq);
do
t:= extract(pq);
x:= -t[1];
if floor(x/10^ilog10(x)) = 2 then return x fi;
p:= nextprime(t[-1]);
for i from n+1 to 2 by -1 while t[i] = t[-1] do
insert([t[1]*(p/t[-1])^(n+2-i), op(t[2..i-1]), p$(n+2-i)], pq)
od;
od
end proc:
map(f, [$1..40]); # Robert Israel, Apr 15 2025
-
from itertools import count
from math import isqrt, prod
from sympy import primerange, integer_nthroot, primepi
def A106422(n):
if n == 1: return 2
def g(x,a,b,c,m): yield from (((d,) for d in enumerate(primerange(b,isqrt(x//c)+1),a)) if m==2 else (((a2,b2),)+d for a2,b2 in enumerate(primerange(b,integer_nthroot(x//c,m)[0]+1),a) for d in g(x,a2,b2,c*b2,m-1)))
def f(x): return int(sum(primepi(x//prod(c[1] for c in a))-a[-1][0] for a in g(x,0,1,1,n)))
for l in count(len(str(1<mmin:
while kmax-kmin > 1:
kmid = kmax+kmin>>1
mmid = f(kmid)
if mmid > mmin:
kmax, mmax = kmid, mmid
else:
kmin, mmin = kmid, mmid
return kmax # Chai Wah Wu, Sep 12 2024