| author | Christian Urban <urbanc@in.tum.de> | 
| Mon, 15 Jan 2018 23:15:34 +0000 | |
| changeset 167 | 1bbd4db36151 | 
| parent 144 | 41a2b4f2c30c | 
| child 171 | 2545bdf5ace0 | 
| permissions | -rw-r--r-- | 
| 127 | 1  | 
// Part 1 about the 3n+1 conjecture  | 
2  | 
//==================================  | 
|
| 167 | 3  | 
package CW6a  | 
4  | 
||
| 126 | 5  | 
|
| 127 | 6  | 
object CW6a {
 | 
| 126 | 7  | 
|
| 127 | 8  | 
def collatz(n: Long): Long =  | 
9  | 
if (n == 1) 1 else  | 
|
10  | 
if (n % 2 == 0) 1 + collatz(n / 2) else  | 
|
11  | 
1 + collatz(3 * n + 1)  | 
|
| 126 | 12  | 
|
13  | 
||
| 127 | 14  | 
def collatz_max(bnd: Long): (Long, Long) = {
 | 
15  | 
val all = for (i <- (1 to bnd.toInt).toList) yield collatz(i)  | 
|
| 126 | 16  | 
val max = all.max  | 
| 127 | 17  | 
(max, all.indexOf(max) + 1)  | 
| 126 | 18  | 
}  | 
19  | 
||
20  | 
||
| 127 | 21  | 
}  | 
| 126 | 22  | 
|
| 167 | 23  |