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