(* ::Package:: *)

(************************************************************************)
(* This file was generated automatically by the Mathematica front end.  *)
(* It contains Initialization cells from a Notebook file, which         *)
(* typically will have the same name as this file except ending in      *)
(* ".nb" instead of ".m".                                               *)
(*                                                                      *)
(* This file is intended to be loaded into the Mathematica kernel using *)
(* the package loading commands Get or Needs.  Doing so is equivalent   *)
(* to using the Evaluate Initialization Cells menu command in the front *)
(* end.                                                                 *)
(*                                                                      *)
(* DO NOT EDIT THIS FILE.  This entire file is regenerated              *)
(* automatically each time the parent Notebook file is saved in the     *)
(* Mathematica front end.  Any changes you make to this file will be    *)
(* overwritten.                                                         *)
(************************************************************************)



BeginPackage["PwM`Chap07Recursion`"]


EulerianNumber::usage="EulerianNumber[\!\(\*
StyleBox[\"n\", \"TI\"]\)\!\(\*
StyleBox[\",\", \"TI\"]\)\!\(\*
StyleBox[\" \", \"TI\"]\)\!\(\*
StyleBox[\"k\", \"TI\"]\)] returns the the number of permutations of the set {1,2,3,\[Ellipsis],\!\(\*
StyleBox[\"n\", \"TI\"]\)} with \!\(\*
StyleBox[\"k\", \"TI\"]\) increasing runs of elements.";


Begin["`Private`"]


EulerianNumber[0,k_]=0;
EulerianNumber[n_Integer,0]=1;
EulerianNumber[n_Integer,k_Integer]/;k>=n=0;


EulerianNumber[n_Integer,k_Integer]:=Block[{$RecursionLimit=Infinity},
EulerianNumber[n,k]=(k+1)EulerianNumber[n-1,k]+(n-k)EulerianNumber[n-1,k-1]]


End[]


EndPackage[]



