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.

A165430 Table T(n,m) read by rows: the greatest common unitary divisor of n and m, n>=1, 1<=m<=n.

Original entry on oeis.org

1, 1, 2, 1, 1, 3, 1, 1, 1, 4, 1, 1, 1, 1, 5, 1, 2, 3, 1, 1, 6, 1, 1, 1, 1, 1, 1, 7, 1, 1, 1, 1, 1, 1, 1, 8, 1, 1, 1, 1, 1, 1, 1, 1, 9, 1, 2, 1, 1, 5, 2, 1, 1, 1, 10, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 11, 1, 1, 3, 4, 1, 3, 1, 1, 1, 1, 1, 12, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 13, 1, 2, 1, 1, 1, 2, 7, 1, 1, 2, 1, 1
Offset: 1

Views

Author

R. J. Mathar, Sep 18 2009

Keywords

Comments

The maximum number which appears in row n and also in row m of A077610. The sequence of the counts of 1 in row n=1,2,3,... is 1, 1, 2, 3, 4, 3, 6, 7, 8, 6, 10, 8, 12, 9, 9,...

Examples

			The table starts
1;
1,2
1,1,3
1,1,1,4
1,1,1,1,5
1,2,3,1,1,6
1,1,1,1,1,1,7
1,1,1,1,1,1,1,8
1,1,1,1,1,1,1,1,9
1,2,1,1,5,2,1,1,1,10
		

Crossrefs

Cf. A034444, A275254 (row sums)

Programs

  • Haskell
    import Data.List (intersect)
    a165430 n k = last (a077610_row n `intersect` a077610_row k)
    a165430_row n = map (a165430 n) [1..n]
    a165430_tabl = map a165430_row [1..]
    -- Reinhard Zumkeller, Mar 04 2013
    
  • Maple
    A077610 := proc(n) local a; a := {} ; for d in numtheory[divisors](n) do if gcd(d,n/d) = 1 then a := a union {d} ; fi; od: a; end:
      A165430 := proc(n,m) local cud ; cud := A077610(n) intersect A077610(m) ; max(op(cud)) ; end:
    seq(seq(A165430(n,m),m=1..n),n=1..20) ;
  • Mathematica
    A077610[n_] := Module[{a = {}}, Do[If[GCD[d, n/d] == 1, a = a ~Union~ {d}], {d, Divisors[n]}]; a]; A165430[n_, m_] := Module[{cud = A077610[n] ~Intersection~ A077610[m]}, Max[cud]]; Table[Table[A165430[n, m], {m, 1, n}], {n, 1, 20}] // Flatten (* Jean-François Alcover, Dec 12 2013, translated from Maple *)
  • PARI
    udivs(n) = {my(d = divisors(n)); select(x->(gcd(x, n/x)==1), d);}
    T(n,m) = vecmax(setintersect(udivs(n), udivs(m))); \\ Michel Marcus, Oct 11 2015