Thomas Wieder, Comments on A008275: Let S=choose(n-1,n-k) be the set of all subsets with n-k elements (= combinations) taken from the set {1,2,...n-1}. E.g. for n=5 and k=2 we have S={{1, 2, 3}, {1, 2, 4}, {1, 3, 4}, {2, 3, 4}}. For each subset we form the product of its elements and sum over all these products and get the Stirling numbers of the first kind S1(n,k). E.g. for n=5 and k=2 we have (-1)^(n-k)*(1*2*3 + 1*2*4 + 1*3*4 + 2*3*4 = 6 + 8 + 12 + 24 = -50 = S1(5,2). Let sum_{i=1, S=choose(n-1,n-k)}^{C(n-1,n-k)} denote a sum over all these combinations where the index i runs from 1 to the number of subsets. The later is equal to the binomial coefficient C(n-1,n-k). Furthermore, let s(i,j) be the j-th element of the i-th subset. Then S1(n,k) = (-1)^(n-k)*sum_{i=1, S=choose(n-1,n-k)}^{C(n-1,n-k)} prod_{j=1}^(n-k) s(i,j). A008275 Stirling1Number := proc(n::integer,k::integer) local n1,k1,i,j,setlist,aset,S1,term; # Procedure Stirling1Number calculates the Stirling numbers S1(n,k). # http://www.thomas-wieder.privat.t-online.de/default.html # Letzte Aenderung: 19.11.2006 n1:=n-1; k1:=n-k; setlist:=choose(n1,k1); S1:=0; for i from 1 to nops(setlist) do aset:=op(i,setlist); term:=1; for j from 1 to nops(aset) do term:=term*op(j,aset); od; S1:=S1+term; od; S1:=S1*(-1)^k1; print(n,k,S1); end proc;