Make task 1 easier to run

This commit is contained in:
Oystein Kristoffer Tveit 2022-10-17 18:37:18 +02:00
parent 74a607d1a6
commit 94bb828dad
Signed by: oysteikt
GPG Key ID: 9F2F7D8250F35146
1 changed files with 33 additions and 24 deletions

View File

@ -1,29 +1,38 @@
object Task1A extends App {
val x = (1 to 50).toList
object Main extends App { println(x)
//task a }
val x = (1 to 50).toList
println(x) object Task1B extends App {
def find_sum_of_list(list: List[Int]): Int = {
//task b var sum: Int = 0
def find_sum_of_list(list: List[Int]): Int = { list.foreach (sum += _)
var sum: Int = 0 sum
list.foreach (sum += _) }
sum
} println(find_sum_of_list(List(1, 2, 3, 4)))
println(find_sum_of_list(List(1, 2, 3, 4))) }
//task c object Task1C extends App {
def find_sum_of_list_rec(list: List[Int]): Int = list match{ //task c
case List() => 0 def find_sum_of_list_rec(list: List[Int]): Int = list match{
case _ => list.head + find_sum_of_list_rec(list.tail) case List() => 0
} case _ => list.head + find_sum_of_list_rec(list.tail)
println(find_sum_of_list_rec(List(1, 2, 3, 4))) }
//task d println(find_sum_of_list_rec(List(1, 2, 3, 4)))
def nth_fibonacci(n: BigInt): BigInt = n match }
case 0 => 0
case 1 => 1 object Task1D extends App {
case _ => nth_fibonacci(n-1) + nth_fibonacci(n-2) val bigZero = BigInt(0)
val bigOne = BigInt(1) // 🍕
println(nth_fibonacci(10))
def nth_fibonacci(n: BigInt): BigInt = n match {
case `bigZero` => n
case `bigOne` => n
case _ => nth_fibonacci(n-1) + nth_fibonacci(n-2)
}
println(nth_fibonacci(30))
} }