OFFSET
1,1
COMMENTS
LINKS
Szymon Łukaszyk, On the quantum separability of qubit registers, arXiv:2601.15364 [physics.gen-ph], 2026.
Szymon Łukaszyk, On the quantum separability of qubit registers, Frontiers, 2026.
EXAMPLE
117 is a term since its two factorizations 117 = 3*39 and 9*13 both have ceiling(log_2(117)) = 7 < ceiling(log_2(b)) + ceiling(log_2(c)).
45 is not a term since among its factorizations is 45 = 3*15 which fails since ceiling(log_2(45)) >= ceiling(log_2(3)) + ceiling(log_2(15)).
PROG
(MATLAB)
function k_belongs=isok(k)
k_belongs=false;
if mod(k, 2) %odd k
f = factor(k); % Prime factors
n = numel(f);
products = []; % Generate all possible subsets (except empty) Using binary masks
for i = 1:2^n - 1
subset = f(logical(bitget(i, 1:n)));
b = prod(subset);
c = k / b;
if mod(k, b) == 0 & b>1 & c>1
products = [products; sort([b c])];
end
end
products = unique(products, 'rows'); % Remove duplicate products
if length(products) % k is not a prime
seq_candidate = 0;
for l=1:size(products, 1)
if ceil(log2(products(l, 1))) + ceil(log2(products(l, 2))) > ceil(log2(k)) % k=l*m is a candidate
seq_candidate = seq_candidate+1;
end
end
if seq_candidate == size(products, 1) % All possible products of k=b*c are candidates
k_belongs=true;
end
end
end
end
(PARI) c(n) = if( n<2, 0, exponent(n-1)+1); \\ A029837
isok(k) = if (numdiv(k) > 2, fordiv(k, d, if ((d>1) && (d<k) && (c(k) >= c(d) + c(k/d)), return(0))); return(1)); \\ Michel Marcus, Nov 14 2025
(Python)
from itertools import count, islice, takewhile
from sympy import isprime, divisors
def A390536_gen(startvalue=4): # generator of terms >= startvalue
for n in count(max(4, startvalue)):
m = (n-1).bit_length()
if not isprime(n) and all(d==1 or m<(d-1).bit_length()+(n//d-1).bit_length() for d in takewhile(lambda d:d*d<=n, divisors(n))):
yield n
CROSSREFS
KEYWORD
nonn
AUTHOR
Szymon Lukaszyk, Nov 09 2025
EXTENSIONS
More terms from Michel Marcus, Nov 11 2025
STATUS
approved
