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

View File

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