templates1/collatz.scala
changeset 199 54befaf23648
parent 145 d306102fd33b
child 266 ca48ac1d3c3e
equal deleted inserted replaced
198:d59c7995bcb2 199:54befaf23648
     1 // Part 1 about the 3n+1 conjecture
     1 // Part 1 about the 3n+1 conjecture
     2 //=================================
     2 //=================================
     3 
     3 
     4 object CW6a {
       
     5 
     4 
     6 //(1) Complete the collatz function below. It should
     5 //(1) Complete the collatz function below. It should
     7 //    recursively calculate the number of steps needed 
     6 //    recursively calculate the number of steps needed 
     8 //    until the collatz series reaches the number 1.
     7 //    until the collatz series reaches the number 1.
     9 //    If needed, you can use an auxiliary function that
     8 //    If needed, you can use an auxiliary function that
    11 //    arguments in the range of 1 to 1 Million.
    10 //    arguments in the range of 1 to 1 Million.
    12 
    11 
    13 //def collatz(n: Long) : Long = ...
    12 //def collatz(n: Long) : Long = ...
    14 
    13 
    15 
    14 
    16 //(2)  Complete the collatz-bound function below. It should
    15 //(2)  Complete the collatz_max function below. It should
    17 //     calculate how many steps are needed for each number 
    16 //     calculate how many steps are needed for each number 
    18 //     from 1 up to a bound and then calculate the maximum number of
    17 //     from 1 up to a bound and then calculate the maximum number of
    19 //     steps and the corresponding number that needs that many 
    18 //     steps and the corresponding number that needs that many 
    20 //     steps. Again, you should expect bounds in the range of 1
    19 //     steps. Again, you should expect bounds in the range of 1
    21 //     up to 1 Million. The first component of the pair is
    20 //     up to 1 Million. The first component of the pair is
    23 //     corresponding number.
    22 //     corresponding number.
    24 
    23 
    25 //def collatz_max(bnd: Long) : (Long, Long) = ...
    24 //def collatz_max(bnd: Long) : (Long, Long) = ...
    26 
    25 
    27 
    26 
    28 }
    27