login
Irregular triangle in which first row is 1, n-th row (n>1) gives prime factors of n with repetition.
277

%I #70 Jul 18 2024 16:56:20

%S 1,2,3,2,2,5,2,3,7,2,2,2,3,3,2,5,11,2,2,3,13,2,7,3,5,2,2,2,2,17,2,3,3,

%T 19,2,2,5,3,7,2,11,23,2,2,2,3,5,5,2,13,3,3,3,2,2,7,29,2,3,5,31,2,2,2,

%U 2,2,3,11,2,17,5,7,2,2,3,3,37,2,19,3,13,2,2,2,5,41,2,3,7,43,2,2,11,3,3,5

%N Irregular triangle in which first row is 1, n-th row (n>1) gives prime factors of n with repetition.

%C n-th row has length A001222(n) (n>1).

%H N. J. A. Sloane, <a href="/A027746/b027746.txt">First 2048 rows of triangle, flattened</a>

%H S. von Worley (?), <a href="http://www.datapointed.net/visualizations/math/factorization/animated-diagrams/">Animated Factorization Diagrams</a>, Oct. 2012.

%H Brent Yorgey, <a href="https://mathlesstraveled.com/2012/10/05/factorization-diagrams/">Factorization diagrams</a>, The Math Less Traveled, Oct 05 2012.

%F Product_{k=1..A001222(n)} T(n,k) = n.

%F From _Reinhard Zumkeller_, Aug 27 2011: (Start)

%F A001414(n) = Sum_{k=1..A001222(n)} T(n,k), n>1;

%F A006530(n) = T(n,A001222(n)) = Max_{k=1..A001222(n)} T(n,k);

%F A020639(n) = T(n,1) = Min_{k=1..A001222(n)} T(n,k). (End)

%e Triangle begins

%e 1;

%e 2;

%e 3;

%e 2, 2;

%e 5;

%e 2, 3;

%e 7;

%e 2, 2, 2;

%e 3, 3;

%e 2, 5;

%e 11;

%e 2, 2, 3;

%e ...

%p P:=proc(n) local FM: FM:=ifactors(n)[2]: seq(seq(FM[j][1],k=1..FM[j][2]),j=1..nops(FM)) end: 1; for n from 2 to 45 do P(n) od; # yields sequence in triangular form; _Emeric Deutsch_, Feb 13 2005

%t row[n_] := Flatten[ Table[#[[1]], {#[[2]]}] & /@ FactorInteger[n]]; Flatten[ Table[ row[n], {n, 1, 45}]] (* _Jean-François Alcover_, Dec 01 2011 *)

%o (Haskell)

%o import Data.List (unfoldr)

%o a027746 n k = a027746_tabl !! (n-1) !! (k-1)

%o a027746_tabl = map a027746_row [1..]

%o a027746_row 1 = [1]

%o a027746_row n = unfoldr fact n where

%o fact 1 = Nothing

%o fact x = Just (p, x `div` p) where p = a020639 x

%o -- _Reinhard Zumkeller_, Aug 27 2011

%o (PARI) A027746_row(n,o=[1])=if(n>1,concat(apply(t->vector(t[2],i,t[1]), Vec(factor(n)~))),o) \\ Use %(n,[]) if you want the more natural [] for the first row. - _M. F. Hasler_, Jul 29 2015

%o (Sage) v=[1]

%o for k in [2..45]: v.extend(p for (p, m) in factor(k) for _ in range(m))

%o print(v) # _Giuseppe Coppoletta_, Dec 29 2017

%o (Python)

%o def factors(n: int) -> list[int]:

%o p = n

%o L:list[int] = []

%o for f in range(2, p + 1):

%o if f * f > p: break

%o while True:

%o q, r = divmod(p, f)

%o if r != 0: break

%o L.append(f)

%o p = q

%o if p == 1: return L

%o L.append(p)

%o return L # _Peter Luschny_, Jul 18 2024

%Y Cf. A000027, A001222, A027748.

%Y a(A022559(A000040(n))+1) = A000040(n).

%Y Column 1 is A020639, columns 2 and 3 correspond to A014673 and A115561.

%Y A281890 measures frequency of each prime in each column, with A281889 giving median values.

%Y Cf. A175943 (partial products), A265110 (partial row products), A265111.

%K nonn,easy,nice,tabf

%O 1,2

%A _Maghraoui Abdelkader_

%E More terms from _James A. Sellers_