CIS 351

Homework 8: Recursion

Fall 2021

Overview

The purpose of this lab is to practice correct stack management by writing a recursive function.

Activity

Please use this GitHub Classroom link

In probability theory "n choose k" is the number of unique ways to choose k items from a set of n. For example "5 choose 3" is 10, because there are 10 unique ways to draw three balls from a set of five (ABC, ABD, ABE, ACD, ACE, ADE, BCD, BCE, BDE, and CDE).

For this lab, you are going to implement n choose k recursively using this formula: n choose k = (n-1 choose k) + (n-1 choose k-1)

n choose k is defined only for positive integers where n ≥ k. By definition

Here is a test class for your function. There is no test file for the driver program. You must test it by hand.

Submission

In order to earn an 'M' or 'E' for this lab, you must use conventional register usage and stack-management techniques. Simply passing the automated tests is not sufficient.

When you are done:

  1. Make sure your names are in the source code.
  2. Commit with a [Grade Me] message.

Updated Thursday, 21 October 2021, 7:59 PM

W3c Validation