A128281
a(n) is the least product of n distinct odd primes m=p_1*p_2*...*p_n, such that (d+m/d)/2 are all primes for each d dividing m.
Original entry on oeis.org
3, 21, 105, 1365, 884037
Offset: 1
Kok Seng Chua (chuakokseng(AT)hotmail.com), Mar 05 2007
105=3*5*7, (3*5*7+1)/2=53, (3+5*7)/2=19, (5+3*7)/2=13, (7+3*5)/2=11 are all primes and 105 is the least such number which is the product of 3 primes, so a(3)=3.
-
a(n)=if(n==1, return(3)); my(p=prod(k=1, n, prime(k+1))); forstep(m=p+if(p%4-1, 2), +oo, 4, if(bigomega(m)==n && omega(m)==n, fordiv(m, d, if(!isprime((d+m/d)/2), next(2))); return(m))) \\ Iain Fox, Aug 27 2020
Definition corrected by
Iain Fox, Aug 25 2020
A361075
Products of exactly 7 distinct odd primes.
Original entry on oeis.org
4849845, 5870865, 6561555, 7402395, 7912905, 8273265, 8580495, 8843835, 9444435, 10015005, 10140585, 10465455, 10555545, 10705695, 10818885, 10975965, 11565015, 11696685, 11996985, 12267255, 12777765, 12785955, 13096545, 13408395, 13498485, 13528515, 13667745, 13803405
Offset: 1
a(1) = 4849845 = 3*5*7*11*13*17*19
a(9663) = 253808555 = 5*7*11*13*17*19*157
a(9961) = 258573315 = 3*5*7*11*13*17*1013
a(10000) = 259173915 = 3*5*7*11*13*41*421
-
import numpy
from sympy import nextprime, sieve, primepi
k_upto = 14 * 10**6
array = numpy.zeros(k_upto,dtype="i4")
sieve_max_number = primepi(nextprime(k_upto // 255255))
for s in range(2,sieve_max_number):
array[sieve[s]:k_upto][::sieve[s]] += 1
for s in range(2,sieve_max_number):
array[sieve[s]**2:k_upto][::sieve[s]**2] = 0
print([k for k in range(1,k_upto,2) if array[k] == 7])
-
from math import prod, isqrt
from sympy import primerange, integer_nthroot, primepi
def A361075(n):
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(n+x-sum(primepi(x//prod(c[1] for c in a))-a[-1][0] for a in g(x,1,2,1,7)))
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
return bisection(f,n,n) # Chai Wah Wu, Sep 10 2024
Showing 1-2 of 2 results.
Comments