cp's OEIS Frontend

This is a front-end for the Online Encyclopedia of Integer Sequences, made by Christian Perfect. The idea is to provide OEIS entries in non-ancient HTML, and then to think about how they're presented visually. The source code is on GitHub.

A180332 Primitive Zumkeller numbers.

Original entry on oeis.org

6, 20, 28, 70, 88, 104, 272, 304, 368, 464, 496, 550, 572, 650, 836, 945, 1184, 1312, 1376, 1430, 1504, 1575, 1696, 1870, 1888, 1952, 2002, 2090, 2205, 2210, 2470, 2530, 2584, 2990, 3128, 3190, 3230, 3410, 3465, 3496, 3770, 3944, 4030, 4070, 4095, 4216
Offset: 1

Views

Author

T. D. Noe, Sep 07 2010

Keywords

Comments

A number is called a primitive Zumkeller number if it is a Zumkeller number (A083207) but none of its proper divisors are Zumkeller numbers. These numbers are very similar to primitive non-deficient numbers (A006039), but neither is a subsequence of the other. [See A378538, A378656, A378657].
Because every Zumkeller number has a divisor that is a primitive Zumkeller number, every Zumkeller number z can be factored as z = d*r, where d is the smallest divisor of z that is a primitive Zumkeller number.
Every number of the form p*2^k is a primitive Zumkeller number, where p is an odd prime and k = floor(log_2(p)).
The odd terms are not the same as A006038. For example, 342225 occurs there, but not here, while 4448925 occurs here, but is not in A006038. - Antti Karttunen, Dec 05 2024

Crossrefs

Cf. A000396 (subsequence), A006038, A083207, A006039, A378537 (characteristic function), A378538, A378656, A378657.

Programs

  • Mathematica
    ZumkellerQ[n_] := ZumkellerQ[n] = Module[{d = Divisors[n], ds, x}, ds = Total[d]; If[OddQ[ds], False, SeriesCoefficient[Product[1 + x^i, {i, d}], {x, 0, ds/2}] > 0]];
    Reap[For[n = 1, n <= 5000, n++, If[ZumkellerQ[n] && NoneTrue[Most[Divisors[ n]], ZumkellerQ], Print[n]; Sow[n]]]][[2, 1]] (* Jean-François Alcover, Mar 01 2019 *)
  • Python
    from sympy import divisors
    from sympy.utilities.iterables import subsets
    def isz(n): # after Peter Luschny in A083207
        divs = divisors(n)
        s = sum(divs)
        if not (s%2 == 0 and 2*n <= s): return False
        S = s//2 - n
        R = [m for m in divs if m <= S]
        return any(sum(c) == S for c in subsets(R))
    def ok(n): return isz(n) and not any(isz(d) for d in divisors(n)[:-1])
    print(list(filter(ok, range(1, 5000)))) # Michael S. Branicky, Jun 20 2021
    
  • SageMath
    # uses[is_Zumkeller from A083207]
    def is_primitiveZumkeller(n):
        return (is_Zumkeller(n) and
            not any(is_Zumkeller(d) for d in divisors(n)[:-1]))
    print([n for n in (1..4216) if is_primitiveZumkeller(n)]) # Peter Luschny, Jun 21 2021