| author | Christian Urban <urbanc@in.tum.de> | 
| Thu, 02 Nov 2017 14:47:55 +0000 | |
| changeset 123 | 006f71e905a1 | 
| parent 39 | c6fe374a5fca | 
| permissions | -rw-r--r-- | 
| 15 | 1  | 
// Part 1 about the 3n+1 conceture  | 
2  | 
//=================================  | 
|
| 
11
 
417869f65585
updated
 
Christian Urban <christian dot urban at kcl dot ac dot uk> 
parents:  
diff
changeset
 | 
3  | 
|
| 
 
417869f65585
updated
 
Christian Urban <christian dot urban at kcl dot ac dot uk> 
parents:  
diff
changeset
 | 
4  | 
|
| 15 | 5  | 
//(1) Complete the collatz function below. It should  | 
6  | 
// recursively calculate the number of steps needed  | 
|
7  | 
// until the collatz series reaches the number 1.  | 
|
8  | 
// If needed you can use an auxilary function that  | 
|
9  | 
// performs the recursion. The function should expect  | 
|
| 
24
 
66b97f9a40f8
updated
 
Christian Urban <christian dot urban at kcl dot ac dot uk> 
parents: 
18 
diff
changeset
 | 
10  | 
// arguments in the range of 1 to 1 Million.  | 
| 
11
 
417869f65585
updated
 
Christian Urban <christian dot urban at kcl dot ac dot uk> 
parents:  
diff
changeset
 | 
11  | 
|
| 18 | 12  | 
def collatz(n: Long): ... = ...  | 
| 
11
 
417869f65585
updated
 
Christian Urban <christian dot urban at kcl dot ac dot uk> 
parents:  
diff
changeset
 | 
13  | 
|
| 
 
417869f65585
updated
 
Christian Urban <christian dot urban at kcl dot ac dot uk> 
parents:  
diff
changeset
 | 
14  | 
|
| 15 | 15  | 
//(2) Complete the collatz bound function below. It should  | 
16  | 
// calculuate how many steps are needed for each number  | 
|
| 18 | 17  | 
// from 1 upto a bound and returns the maximum number of  | 
18  | 
// steps and the corresponding number that needs that many  | 
|
| 15 | 19  | 
// steps. You should expect bounds in the range of 1  | 
| 18 | 20  | 
// upto 1 million. The first component of the pair is  | 
21  | 
// the maximum number of steps and the second is the  | 
|
22  | 
// corresponding number.  | 
|
| 15 | 23  | 
|
| 18 | 24  | 
def collatz_max(bnd: Int): (Int, Int) = ...  | 
| 
11
 
417869f65585
updated
 
Christian Urban <christian dot urban at kcl dot ac dot uk> 
parents:  
diff
changeset
 | 
25  | 
|
| 
 
417869f65585
updated
 
Christian Urban <christian dot urban at kcl dot ac dot uk> 
parents:  
diff
changeset
 | 
26  |