Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Revision History for A083210

(Bold, blue-underlined text is an addition; faded, red-underlined text is a deletion.)

Showing entries 1-10 | older changes
Numbers with no subset of their divisors such that the complement has the same sum.
(history; published version)
#24 by Michael De Vlieger at Tue Feb 14 08:55:22 EST 2023
STATUS

reviewed

approved

#23 by Joerg Arndt at Tue Feb 14 02:23:14 EST 2023
STATUS

proposed

reviewed

#22 by Chai Wah Wu at Mon Feb 13 19:25:30 EST 2023
STATUS

editing

proposed

#21 by Chai Wah Wu at Mon Feb 13 19:25:25 EST 2023
PROG

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:

STATUS

proposed

editing

#20 by Chai Wah Wu at Mon Feb 13 18:44:57 EST 2023
STATUS

editing

proposed

#19 by Chai Wah Wu at Mon Feb 13 18:44:51 EST 2023
PROG

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:

STATUS

proposed

editing

#18 by Chai Wah Wu at Mon Feb 13 15:38:24 EST 2023
STATUS

editing

proposed

#17 by Chai Wah Wu at Mon Feb 13 15:38:17 EST 2023
PROG

def A083210_gen(startvalue=1): # generator of terms >= startvalue

STATUS

proposed

editing

#16 by Chai Wah Wu at Mon Feb 13 15:36:12 EST 2023
STATUS

editing

proposed

#15 by Chai Wah Wu at Mon Feb 13 15:32:13 EST 2023
PROG

(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

STATUS

proposed

editing