#$@%#@$@!$##@ Re-curse-ive Functions
Let us begin with I'm My Own Grandpa.
Really???? Can a function call itself? Yep. And here we go.
Nag a stupidhead
Print a List
Compute Binomial Coefficents
Global frame print_list ------------------- CODE x ---------------------------- Nyah Nyah Nyah | | | print_list | | | x ------------------------------- | | first ----------------------------- | rest --------------------------------- print_list x ---- [Nyah Nyah] first-- Nyah rest -- [Nyah] print_list x ----- [Nyah] rest -- [] first -- Nyah print_list x ---- []
c(n, k) = this is the number of subsets of size k in a set of size n. c(n, 0) = 1 c(n, 1) = n c(n, n) = 1 Set has elements 1...... n k is an integer, 0 <= k <= n How many subsets EXCLUDE 1? c(n-1, k) How many subsets INCLUDE 1? c(n-1, k-1) Conclusion c(n,k) = c(n=1, k-1) + c(n-1, k) c(4,2) = c(3,2) + c(3,1) c(2,1) c(2,2) + c(3,1) 2 + 1 + 3 = 6 ABCD AB AC AD BC BD CD c(52,5)