reviewed
approved
reviewed
approved
proposed
reviewed
editing
proposed
from sympy.combinatorics.subsets import Subset
def A083210_gen(startvalue=1): # generator of terms >= startvalue
if s&1^1 and n<=(t:<1<=s>>1):
d = d[:-1]
s2, ld = (s>>1)-n, len(d)
z = [[0 for x _ in range(s2+1, )] for _ in range(ld+1<<len(d)):]
if sum(Subset.unrank_binary(x, d).subset) == t:
for i in range(1, ld+1):
y = min(d[i-1], s2+1)
z[i][:y] = z[i-1][:y]
for j in range(y, s2+1):
z[i][j] = max(z[i-1][j], z[i-1][j-y]+y)
if z[i][s2] == s2:
proposed
editing
editing
proposed
from sympy.combinatorics.subsets import Subset
def A083210_gen(startvalue=1): # generator of terms >= startvalue
if s&1^1 and n<<1<=(t:=s>>1):
d = d[:-1]
s2, ld = (s>>1)-n, len(d)
z = [[0 for _ in range(s2+1)] for _ in range(ld+1)]
for i x in range(1, ld+1<<len(d)):
y = min(d[i-1], s2+1)
z[i][:y] = z[i-1][:y]
for j in range(y, s2+1):
z[i][j] = max(z[i-1][j], z[i-1][j-y]+y)
if z[i][s2] sum(Subset.unrank_binary(x, d).subset) == s2t:
proposed
editing
editing
proposed
def A083210_gen(startvalue=1): # generator of terms >= startvalue
proposed
editing
editing
proposed
(Python)
from itertools import count, islice
from sympy import divisors
def A083210_gen(startvalue=1): # generator of terms
for n in count(max(startvalue, 1)):
d = divisors(n)
s = sum(d)
if s&1^1 and n<<1<=s:
d = d[:-1]
s2, ld = (s>>1)-n, len(d)
z = [[0 for _ in range(s2+1)] for _ in range(ld+1)]
for i in range(1, ld+1):
y = min(d[i-1], s2+1)
z[i][:y] = z[i-1][:y]
for j in range(y, s2+1):
z[i][j] = max(z[i-1][j], z[i-1][j-y]+y)
if z[i][s2] == s2:
break
else:
yield n
else:
yield n
A083210_list = list(islice(A083210_gen(), 30)) # Chai Wah Wu, Feb 13 2023
proposed
editing