In this lab, we will -
- Use recursion functions to form a string from tally marks.
- Practice recursion with terminating conditions
- Apply string concatenation to create a string using different substrings
- Apply recursion in the return statement of a function
Instructions
Tally marks are an example of a numeral system with unary encodings.
A number n is represented with n tally marks. For example, 4 is represented as the string "| | | |", where each vertical line "|" is a tally.
A recursive version of this definition of this encoding is as follows:
Base Case 1:
0 is represented with zero tally marks which returns an empty string
Base Case 2:
1 is just one tally without any spaces, so return a "|" directly
Recursive Case:
A positive number n is represented with (1 + the number of tally marks in the representation of n-1) tally marks. Here, we would string append a tally with a space and call the function recursively on the remainder n-1 number.
Write a
recursive
function to calculate the unary encoding of a non-negative integer.
Name the function unary_encoding(n), where n is a non-negative integer (0, 1, 2, …) and make the output a string of "|" characters separated by blank spaces, with no whitespace on the ends.