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.

A085780 Numbers that are a product of 2 triangular numbers.

Original entry on oeis.org

0, 1, 3, 6, 9, 10, 15, 18, 21, 28, 30, 36, 45, 55, 60, 63, 66, 78, 84, 90, 91, 100, 105, 108, 120, 126, 135, 136, 150, 153, 165, 168, 171, 190, 198, 210, 216, 225, 231, 234, 253, 270, 273, 276, 280, 300, 315, 325, 330, 351, 360, 378, 396, 406, 408, 420, 435, 441
Offset: 1

Views

Author

Jon Perry, Jul 23 2003

Keywords

Comments

Is there a fast algorithm for detecting these numbers? - Charles R Greathouse IV, Jan 26 2013
The number of rectangles with positive width 1<=w<=i and positive height 1<=h<=j contained in an i*j rectangle is t(i)*t(j), where t(k)=A000217(k), see A096948. - Dimitri Boscainos, Aug 27 2015

Examples

			18 = 3*6 = t(2)*t(3) is a product of two triangular numbers and therefore in the sequence.
		

Crossrefs

Cf. A000217, A085782, A068143, A000537 (subsequence), A006011 (subsequence), A033487 (subsequence), A188630 (subsequence).
Cf. A072389 (this times 4).

Programs

  • Maple
    isA085780 := proc(n)
         local d;
         for d in numtheory[divisors](n) do
            if d^2 > n then
                return false;
            end if;
            if isA000217(d) then
                if isA000217(n/d) then
                    return true;
                end if;
            end if;
        end do:
        return false;
    end proc:
    for n from 1 to 1000 do
        if isA085780(n) then
            printf("%d,",n) ;
        end if ;
    end do: # R. J. Mathar, Nov 29 2015
  • Mathematica
    t1 = Table[n (n+1)/2, {n, 0, 100}];Select[Union[Flatten[Outer[Times, t1, t1]]], # <= t1[[-1]] &] (* T. D. Noe, Jun 04 2012 *)
  • PARI
    A003056(n)=(sqrtint(8*n+1)-1)\2
    list(lim)=my(v=List([0]),t); for(a=1, A003056(lim\1), t=a*(a+1)/2; for(b=a, A003056(lim\t), listput(v,t*b*(b+1)/2))); vecsort(Vec(v),,8) \\ Charles R Greathouse IV, Jan 26 2013
    
  • Python
    from itertools import count, islice
    from sympy import divisors, integer_nthroot
    def A085780_gen(startvalue=0): # generator of terms
        if startvalue <= 0:
            yield 0
        for n in count(max(startvalue,1)):
            for d in divisors(m:=n<<2):
                if d**2 > m:
                    break
                if integer_nthroot((d<<2)+1,2)[1] and integer_nthroot((m//d<<2)+1,2)[1]:
                    yield n
                    break
    A085780_list = list(islice(A085780_gen(),10)) # Chai Wah Wu, Aug 28 2022

Formula

Conjecture: There are about sqrt(x)*log(x) terms up to x. - Charles R Greathouse IV, Jul 11 2024

Extensions

More terms from Max Alekseyev and Jon E. Schoenfield, Sep 04 2009