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.

A365517 Numbers k such that the sum of the squarefree part of k and the squarefree kernel of k is a perfect square.

Original entry on oeis.org

2, 8, 9, 12, 32, 48, 81, 98, 108, 128, 150, 192, 225, 252, 363, 392, 432, 512, 578, 600, 729, 768, 972, 1008, 1100, 1225, 1350, 1568, 1728, 1805, 1922, 2025, 2028, 2048, 2268, 2312, 2366, 2400, 2940, 3072, 3174, 3267, 3750, 3888, 4032, 4400, 4802, 5400, 5625
Offset: 1

Views

Author

David James Sycamore, Sep 07 2023

Keywords

Comments

In other words, numbers k such that A007913(k) + A007947(k) is in A000290 (the sum of the core and the kernel (radical) of k is a square).
The corresponding sequence of squares starts: 4,4,4,9,4,9,4,16,9,4,36,9,... and it seems that 25 is the smallest square which is not the sum of the core and kernel of any integer.

Examples

			108 is a term because A007913(108) = 3, A007947(108) = 6 and 3 + 6 = 9.
Let c, r denote the core and the rad (kernel) respectively, of any number, then for m >= 0, 2^(2*m+1) is a term (c = r = 2)-->4 (2,8,32,128,...).
For m >= 1, h > 0, 2^(2*m)*3^(2*h+1) is a term (c = 6, r = 3)-->9 (12,48,108,...).
		

Crossrefs

Programs

  • Mathematica
    squareFreePart[n_Integer?Positive] := squareFreePart[n] = n/Times @@ (First[#]^(2*Floor[Last[#]/2]) & /@ FactorInteger[n]); squareFreeKernel[n_Integer?Positive] := squareFreeKernel[n] = Times @@ (First[#] & /@ FactorInteger[n]); a[max_Integer?Positive] := a[max] = Select[Range[max], IntegerQ@Sqrt[squareFreePart[#] + squareFreeKernel[#]] &]; a[5625] (* Robert P. P. McKone, Sep 07 2023 *)
  • PARI
    isok(s) = issquare(core(s) + factorback(factorint(s)[, 1])); \\ Michel Marcus, Sep 08 2023
    
  • Python
    from itertools import count, islice
    from sympy.ntheory.primetest import is_square
    from sympy import factorint
    def A365517_gen(startvalue=1): # generator of terms >= startvalue
        for k in count(max(startvalue,1)):
            a, b = 1, 1
            for p, e in factorint(k).items():
                if e&1:
                    a *= p
                else:
                    b *= p
            if is_square(a*(b+1)):
                yield k
    A365517_list = list(islice(A365517_gen(),30)) # Chai Wah Wu, Sep 19 2023