| 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 |