equal
deleted
inserted
replaced
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 |