Make task 1 easier to run
This commit is contained in:
parent
74a607d1a6
commit
94bb828dad
|
@ -1,29 +1,38 @@
|
|||
|
||||
object Main extends App {
|
||||
//task a
|
||||
object Task1A extends App {
|
||||
val x = (1 to 50).toList
|
||||
println(x)
|
||||
|
||||
//task b
|
||||
println(x)
|
||||
}
|
||||
|
||||
object Task1B extends App {
|
||||
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)))
|
||||
|
||||
println(find_sum_of_list(List(1, 2, 3, 4)))
|
||||
}
|
||||
|
||||
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)))
|
||||
|
||||
//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)
|
||||
|
||||
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))
|
||||
}
|
Loading…
Reference in New Issue