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.

A356660 Numbers k that can be written as the sum of 10 divisors of k (not necessarily distinct).

Original entry on oeis.org

10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 40, 42, 44, 48, 50, 52, 54, 56, 60, 64, 66, 68, 70, 72, 76, 78, 80, 84, 88, 90, 92, 96, 98, 100, 102, 104, 108, 110, 112, 114, 116, 120, 126, 128, 130, 132, 136, 138, 140, 144, 150, 152, 154, 156, 160, 162
Offset: 1

Views

Author

Wesley Ivan Hurt, Aug 20 2022

Keywords

Comments

From David A. Corneth, Oct 08 2022: (Start)
All terms are even. Proof: suppose a term is odd. Then all divisors are odd. Adding 10 odd numbers gives an even number. A contradiction.
If k is a term then so is k*m for m >= 1. Proof: Multiply each divisor in this sum of 10 divisors that give k with m. Then each term is a divisor of k*m and their sum is k*m. (End)

Examples

			14 is in the sequence since 14 = 2+2+2+2+1+1+1+1+1+1, where each summand divides 14.
		

Crossrefs

Numbers k that can be written as the sum of j divisors of k (not necessarily distinct) for j=1..10: A000027 (j=1), A299174 (j=2), A355200 (j=3), A354591 (j=4), A355641 (j=5), A356609 (j=6), A356635 (j=7), A356657 (j=8), A356659 (j=9), this sequence (j=10).

Programs

  • PARI
    upto(n) = { my(v = vector(n,i,-1), t = 0); forstep(i = 2, n, 2, if(v[i] == -1, v[i] = is(i); if(v[i] == 1, for(j = 2, n \ i, v[i*j] = 1; ) ) ); ); select(x->x >= 1, v, 1); }
    is(n, {qd = 10}) = { my(d = divisors(n), res = 0); d = d[^#d]; forvec(x = vector(qd-1, i, [1, #d]), s = sum(i = 1, qd-1, d[x[i]]); if(n - s >= d[x[qd - 1]], if(n % (n - s) == 0,  return(1); ) ) , 1 ); 0 } \\ David A. Corneth, Oct 08 2022
  • Python
    from sympy import divisors
    def t_sum_of_n_div(n, target):
        out, p = [], divisors(n)[::-1][1:]
        def dfs(t, divs,  index_s, kk):
            if len(out)!=0 or kk>target:return
            if kk == target and t == 0:
                out.append(divs)
                return
            for i in range(index_s, len(p)):
                if t >= p[i]:
                    temp_divs = divs.copy()
                    temp_divs.append(p[i])
                    dfs(t-p[i], temp_divs, i, kk+1)
        dfs(n, [], 0, 0)
        return out
    terms = [i for i in range(2, 200) if len(t_sum_of_n_div(i,10))!=0]
    print(terms) # Gleb Ivanov, Sep 02 2022