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.

A324315 Squarefree integers m > 1 such that if prime p divides m, then the sum of the base p digits of m is at least p.

Original entry on oeis.org

231, 561, 1001, 1045, 1105, 1122, 1155, 1729, 2002, 2093, 2145, 2465, 2821, 3003, 3315, 3458, 3553, 3570, 3655, 3927, 4186, 4199, 4522, 4774, 4845, 4862, 5005, 5187, 5565, 5642, 5681, 6006, 6118, 6270, 6279, 6545, 6601, 6670, 6734, 7337, 7395, 7735, 8177, 8211, 8265, 8294, 8323, 8463, 8645, 8789, 8855, 8911, 9282, 9361, 9435, 9690, 9867
Offset: 1

Views

Author

Keywords

Comments

The sequence is infinite, because it contains all Carmichael numbers (A002997).
If m is a term and p is a prime factor of m, then p <= a*sqrt(m) with a = sqrt(11/21) = 0.7237..., where the bound is sharp.
A term m must have at least 3 prime factors if m is odd, and must have at least 4 prime factors if m is even.
m is a term if and only if m > 1 divides denominator(Bernoulli_m(x) - Bernoulli_m) = A195441(m-1).
A term m is a Carmichael number iff s_p(m) == 1 (mod p-1) whenever prime p divides m, where s_p(m) is the sum of the base p digits of m.
See Kellner and Sondow 2019.

Examples

			231 = 3 * 7 * 11 is squarefree, and 231 in base 3 is 22120_3 = 2 * 3^4 + 2 * 3^3 + 1 * 3^2 + 2 * 3 + 0 with 2+2+1+2+0 = 7 >= 3, and 231 = 450_7 with 4+5+0 = 9 >= 7, and 231 = 1a0_11 with 1+a+0 = 1+10+0 = 11 >= 11, so 231 is a member.
		

Crossrefs

Programs

  • Mathematica
    SD[n_, p_] := If[n < 1 || p < 2, 0, Plus @@ IntegerDigits[n, p]];
    LP[n_] := Transpose[FactorInteger[n]][[1]];
    TestS[n_] := (n > 1) && SquareFreeQ[n] && VectorQ[LP[n], SD[n, #] >= # &];
    Select[Range[10^4], TestS[#] &]
  • Python
    from sympy import factorint
    from sympy.ntheory import digits
    def ok(n):
        pf = factorint(n)
        if n < 2 or max(pf.values()) > 1: return False
        return all(sum(digits(n, p)[1:]) >= p for p in pf)
    print([k for k in range(10**4) if ok(k)]) # Michael S. Branicky, Jul 03 2022

Formula

a_1 + a_2 + ... + a_k >= p for m = a_1 * p + a_2 * p^2 + ... + a_k * p^k with 0 <= a_i <= p-1 for i = 1, 2, ..., k (note that a_0 = 0).