%I #30 Aug 28 2014 02:56:10
%S 42,70,78,88,126,160,176,228,234,258,270,280,308,342,350,368,378,380,
%T 390,396,402,438,448,462,468,490,500,522,532,540,552,558,560,572,580,
%U 588,608,618,620,630,644,650,690,702,732,756,770,780,798,812,822,852,858
%N Numbers which are both Zumkeller numbers and anti-Zumkeller numbers.
%C Numbers n whose sets of divisors and anti-divisors can each be partitioned into two disjoint sets whose sums are sigma(n)/2 for the sets in the divisors partition and sigma*(n)/2 for the anti-divisors partition, where sigma*(n) is the sum of the anti-divisors of n.
%H Chai Wah Wu, <a href="/A192274/b192274.txt">Table of n, a(n) for n = 1..10000</a>
%e 270-> divisors: 1,2,3,5,6,9,10,15,18,27,30,45,54,90,135,270; sigma(270)/2=360; 1+2+3+5+6+9+10+15+18+27+30+45+54+135=90+270=360.
%e 270-> anti-divisors: 4,7,11,12,20,36,49,60,77,108,180; sigma*(270)/2=282; 4+7+11+20+60+180=12+36+49+77+108=282.
%p with(combstruct);
%p with(numtheory);
%p P:=proc(i)
%p local S,R,Stop,Comb,a,b,c,d,k,m,n,s;
%p for n from 3 to i do
%p a:={};
%p for k from 2 to n-1 do if abs((n mod k)- k/2) < 1 then a:=a union {k}; fi; od;
%p b:=nops(a); c:=op(a); s:=0;
%p if b>1 then for k from 1 to b do s:=s+c[k]; od;
%p else s:=c;
%p fi;
%p if (modp(s,2)=0 and 2*n<=s) then
%p S:=1/2*s-n; R:=select(m->m<=S,[c]); Stop:=false; Comb:=iterstructs(Combination(R));
%p while not (finished(Comb) or Stop) do Stop:=add(d,d=nextstruct(Comb))=S; od;
%p if Stop then
%p s:=sigma(n);
%p if (modp(s,2)=0 and 2*n<=s) then
%p S:=1/2*s-n; R:=select(m->m<=S,divisors(n)); Stop:=false; Comb:=iterstructs(Combination(R));
%p while not (finished(Comb) or Stop) do Stop:=add(d,d=nextstruct(Comb))=S; od;
%p if Stop then print(n); fi;
%p fi;
%p fi;
%p fi;
%p od;
%p end:
%p P(10000);
%o (Python3)
%o from sympy import divisors
%o from sympy.combinatorics.subsets import Subset
%o def antidivisors(n):
%o ....return [2*d for d in divisors(n) if n > 2*d and n % (2*d)] + \
%o ...........[d for d in divisors(2*n-1) if n > d >=2 and n % d] + \
%o ...........[d for d in divisors(2*n+1) if n > d >=2 and n % d]
%o for n in range(1,10**3):
%o ....d = divisors(n)
%o ....s = sum(d)
%o ....if not s % 2 and max(d) <= s/2:
%o ........for x in range(1,2**len(d)):
%o ............if sum(Subset.unrank_binary(x,d).subset) == s/2:
%o ................d = antidivisors(n)
%o ................s = sum(d)
%o ................if not s % 2 and max(d) <= s/2:
%o ....................for x in range(1,2**len(d)):
%o ........................if sum(Subset.unrank_binary(x,d).subset) == s/2:
%o ............................print(n,end=', ')
%o ............................break
%o ................break
%o # _Chai Wah Wu_, Aug 14 2014
%o (Python)
%o from sympy import divisors
%o import numpy as np
%o A192274 = []
%o for n in range(3,10**3):
%o ....d = divisors(n)
%o ....s = sum(d)
%o ....if not s % 2 and 2*n <= s:
%o ........d.remove(n)
%o ........s2, ld = int(s/2-n), len(d)
%o ........z = np.zeros((ld+1,s2+1),dtype=int)
%o ........for i in range(1,ld+1):
%o ............y = min(d[i-1],s2+1)
%o ............z[i,range(y)] = z[i-1,range(y)]
%o ............z[i,range(y,s2+1)] = np.maximum(z[i-1,range(y,s2+1)],z[i-1,range(0,s2+1-y)]+y)
%o ............if z[i,s2] == s2:
%o ................d2 = [2*x for x in d if n > 2*x and n % (2*x)] + \
%o ................[x for x in divisors(2*n-1) if n > x >=2 and n % x] + \
%o ................[x for x in divisors(2*n+1) if n > x >=2 and n % x]
%o ................s, dmax = sum(d2), max(d2)
%o ................if not s % 2 and 2*dmax <= s:
%o ....................d2.remove(dmax)
%o ....................s2, ld = int(s/2-dmax), len(d2)
%o ....................z = np.zeros((ld+1,s2+1),dtype=int)
%o ....................for i in range(1,ld+1):
%o ........................y = min(d2[i-1],s2+1)
%o ........................z[i,range(y)] = z[i-1,range(y)]
%o ........................z[i,range(y,s2+1)] = np.maximum(z[i-1,range(y,s2+1)],z[i-1,range(0,s2+1-y)]+y)
%o ........................if z[i,s2] == s2:
%o ............................A192274.append(n)
%o ........................break
%o ................break
%o # _Chai Wah Wu_, Aug 19 2014
%Y Cf. A083207, A066272, A192273.
%K nonn
%O 1,1
%A _Paolo P. Lava_, Jun 28 2011
%E Corrected entries and comment by _Chai Wah Wu_, Aug 13 2014
|