Challenge: Using a Curried Function
Test yourself and implement what you have learned so far in this challenge.
We'll cover the following
Problem Statement
You are given a curried function product
that which calculates the product of the values of a function for the points on a given interval.
Your challenge is to create a non-recursive factorial function fact
which uses the product
function to compute the factorial of a number.
Input
The input will be an integer n
.
Output
The output will be the factorial of n
.
Sample Input
fact(5)
Sample Output
120
Test Yourself
Write your code in the given area. Try the exercise by yourself first, but if you get stuck, the solution has been provided. Good luck!
def product(f: Int => Int)(a: Int, b: Int): Int ={if(a > b) 1else f(a) * product(f)(a+1,b)}def fact(n: Int) = {// Write your code here-1 // Remove this line after writing your code}
Let’s go over the solution review in the next lesson.