Need help with a Scala programming problem: object fp1 { // EXAMPLE: here is the
ID: 3880052 • Letter: N
Question
Need help with a Scala programming problem:
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)
}
RULES *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 *result in 0 points for this assignment. 3. You MUST NOT use while loops or (re)assignment to variables (you can submission will use "val" declarations but not "var" declarations) You must use recursion instead. *4. You may declare auxiliary functions if you like.Explanation / Answer
/Recursion is the process in which function call itself until base condition satisfied
To find the sum of element of list we can use recursion
to find sum of list element, i will use to function of scala
list.tail() => removes the first element from the list
list.head()=> return the first element of the list
you can use these function to find the sum of Scala list recursively
The base condition is when list is empty.
In below function , the function is adding head to previous sum and removing head
Please find below function
def sum(xs:List[Int]):Int={
if(xs.isEmpty) 0
else xs.head + sum(xs.tail)
}
you can call above function like:
sum(List(1,2,5))
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.