--- a/core_templates1/collatz.scala Sat Oct 08 00:30:51 2022 +0100
+++ b/core_templates1/collatz.scala Tue Nov 01 15:03:48 2022 +0000
@@ -3,36 +3,18 @@
object C1 {
-//(1) Complete the collatz function below. It should
-// recursively calculate the number of steps needed
-// until the collatz series reaches the number 1.
-// If needed, you can use an auxiliary function that
-// performs the recursion. The function should expect
-// arguments in the range of 1 to 1 Million.
+// ADD YOUR CODE BELOW
+//======================
+
+//(1)
def collatz(n: Long) : Long = ???
-//(2) Complete the collatz_max function below. It should
-// calculate how many steps are needed for each number
-// from 1 up to a bound and then calculate the maximum number of
-// steps and the corresponding number that needs that many
-// steps. Again, you should expect bounds in the range of 1
-// up to 1 Million. The first component of the pair is
-// the maximum number of steps and the second is the
-// corresponding number.
-
+//(2)
def collatz_max(bnd: Long) : (Long, Long) = ???
-//(3) Implement a function that calculates the last_odd
-// number in a collatz series. For this implement an
-// is_pow_of_two function which tests whether a number
-// is a power of two. The function is_hard calculates
-// whether 3n + 1 is a power of two. Again you can
-// assume the input ranges between 1 and 1 Million,
-// and also assume that the input of last_odd will not
-// be a power of 2.
-
+//(3)
def is_pow_of_two(n: Long) : Boolean = ???
def is_hard(n: Long) : Boolean = ???