// Part 1 about the 3n+1 conjecture
//==================================
package CW6a
object CW6a {
def collatz(n: Long): Long =
if (n == 1) 1 else
if (n % 2 == 0) 1 + collatz(n / 2) else
1 + collatz(3 * n + 1)
def collatz_max(bnd: Long): (Long, Long) = {
val all = for (i <- (1 to bnd.toInt).toList) yield collatz(i)
val max = all.max
(max, all.indexOf(max) + 1)
}
}
def Collat(n: Long, r: Int = 1) : Int =
if (n == 1) r else
if (n % 2 == 0) Collat(n / 2 , r + 1) else
Collat (3 * n + 1 , r + 1)
(1 to 10).map(collatz(_))