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.

A380487 Numbers such that the sum of prime factors without repetition divides the product of prime factors without repetition and each division yields a greater quotient.

Original entry on oeis.org

2, 30, 70, 105, 231, 627, 805, 1122, 2730, 3570, 8778, 9282, 10626, 15015, 24738, 24882, 31746, 33495, 33915, 44330, 45885, 49335, 51051, 62985, 72930, 95095, 106590, 132990, 145145, 156009, 170170, 222870, 230945, 274505, 290598, 329406, 335478, 418285, 449995
Offset: 1

Views

Author

Torlach Rush, Jan 24 2025

Keywords

Comments

Conjecture: There exists m, the smallest positive integer such that a(k)|a(k+m), for all k.

Examples

			2 is a term because sopf(2)|rad(2) = 2|2.
30 is a term because sopf(30)|rad(30) = 10|30.
70 is a term because sopf(70)|rad(70) = 14|70.
		

Crossrefs

Subsequence of A086486.

Programs

  • Maple
    f:= proc(n,m) local q,S;
       S:= numtheory:-factorset(n);
       q:= convert(S,`*`)/convert(S,`+`);
       if q::integer and q > m  then q else 0 fi;
    end proc:
    m:= 0: R:= NULL: count:= 0:
    for n from 2 while count < 50 do
      v:= f(n,m);
      if v > 0 then
        m:= v;  R:= R, n; count:= count+1;
      fi;
    od:
    R; # Robert Israel, Apr 30 2025
  • Mathematica
    s={};q=0;Do[pf=Times@@First/@FactorInteger[n];sf=Total[First/@FactorInteger[n]];If[Divisible[pf,sf]&&pf/sf>q,AppendTo[s,n];q=pf/sf],{n,2,449995}];s (* James C. McMahon, Apr 03 2025 *)
  • PARI
    lista(nn) = my(m=0, list=List()); for (n=2, nn, my(f=factor(n)[,1], q=factorback(f)/vecsum(f)); if ((denominator(q) == 1) && (q>m), listput(list, n); m=q);); Vec(list); \\ Michel Marcus, Mar 29 2025
  • Sage
    def sopf(n): return sum(set(prime_factors(n)))
    def rad(n):
        rad = 1
        for p in set(prime_factors(n)): rad *= p
        return rad
    def output(limit=39):
        results = []
        n = 2
        result = 0
        while len(results) < limit:
            sopf_n = sopf(n)
            rad_n = rad(n)
            if rad_n % sopf_n == 0 and result < rad_n / sopf_n:
                results.append(n)
                result = rad_n / sopf_n
                print(n, end=', ')
            n += 1
        return results
    output()