%I #32 Jan 21 2019 20:06:25
%S 0,0,1,0,1,0,1,0,1,4,0,1,3,4,0,1,2,4,0,1,4,0,1,4,7,0,1,4,5,6,9,0,1,3,
%T 4,5,9,0,1,4,9,0,1,3,4,9,10,12,0,1,2,4,7,8,9,11,0,1,4,6,9,10,0,1,4,9,
%U 0,1,2,4,8,9,13,15,16,0,1,4,7,9,10,13,16,0,1,4,5,6,7,9,11,16,17,0,1,4,5,9
%N Irregular triangle read by rows where n-th row contains all quadratic residues (including zero) mod n.
%H T. D. Noe, <a href="/A096008/b096008.txt">Rows n = 1..100, flattened</a>
%H Eric Weisstein's World of Mathematics, <a href="http://mathworld.wolfram.com/QuadraticResidue.html">Quadratic Residue.</a>
%e The table starts:
%e [0]
%e [0, 1]
%e [0, 1]
%e [0, 1]
%e [0, 1, 4]
%e [0, 1, 3, 4]
%e [0, 1, 2, 4]
%e [0, 1, 4]
%e [0, 1, 4, 7]
%e [0, 1, 4, 5, 6, 9]
%e ...
%p q:=n-> sort(convert({seq(i^2 mod n,i=0..n-1)}, list)); # _N. J. A. Sloane_, Feb 09 2011
%t row[n_] := Table[PowerMod[k, 2, n], {k, 0, n-1}] // Union; Table[row[n], {n, 1, 20}] // Flatten (* _Jean-François Alcover_, Sep 09 2013 *)
%o (PARI) T(n) = {local(v,r,i,j,k); v=vector(n,i,0); for(i=0,floor(n/2),v[i^2%n+1]=1); k=sum(i=1,n,v[i]); j=0; r=vector(k); for(i=1,n, if(v[i], j++; r[j]=i-1)); r}
%o (Haskell)
%o a096008 n k = a096008_tabf !! (n-1) !! (k-1)
%o a096008_row n = a096008_tabf !! (n-1)
%o a096008_tabf = [0] : map (0 :) a046071_tabf
%o -- _Reinhard Zumkeller_, May 10 2015
%Y Cf. A046071 (without zeros), A000224 (row lengths), A063987.
%Y Last elements of rows give A047210.
%Y Row sums give A165909.
%K easy,tabf,nonn
%O 1,10
%A _Cino Hilliard_, Jul 20 2004
%E Edited by _Franklin T. Adams-Watters_, Nov 07 2006
|