/* INSTRUCTIONS
*
* Complete the exercises below. For each “EXERCISE” comment, add
* code immediately below the comment.
*
* Please see README.md for instructions, including compilation and testing.
*
* GRADING
*
* 1. Submissions MUST compile using SBT with UNCHANGED configuration and tests with no
* compilation errors. Submissions with compilation errors will receive 0 points.
* Note that refactoring the code will cause the tests to fail.
*
* 2. You MUST NOT edit the SBT configuration and tests. Altering it in your submission will
* result in 0 points for this assignment.
*
* 3. You MUST NOT use while loops or (re)assignment to variables (you can use “val” declarations,
* but not “var” declarations). You must use recursion instead.
*
* 4. You may declare auxiliary functions if you like.
*
* SUBMISSION
object fp1 {
// EXAMPLE: here is the definition of the factorial function.
def fact (n : Int) : Int = {
if (n <= 1)
1
else
n * fact (n – 1)
}
// EXERCISE 1: complete the following definition, so that factTest is the list of integers
// List(1,2,6,24,120). You must call the “fact” function (five times) defined above instead of
// hardcoding the numbers 1,2,4,24,120.
val factTest : List[Int] = {
// TODO: Change “Nil” to the correct answer.
Nil
}
like this complete solution.