diff --git a/tasks/task1.scala b/tasks/task1.scala index 9eff86d..afc52a8 100644 --- a/tasks/task1.scala +++ b/tasks/task1.scala @@ -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)) -} \ No newline at end of file +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)) +}