| changeset 335 | 9476aee44eed |
| parent 320 | 90aed247c8cf |
| child 336 | cccdae0fccc7 |
--- a/solutions1/collatz.scala Thu Apr 23 14:49:54 2020 +0100 +++ b/solutions1/collatz.scala Wed Aug 12 00:56:20 2020 +0100 @@ -31,4 +31,19 @@ */ +def is_pow(n: Long) : Boolean = (n & (n - 1)) == 0 + +def is_hard(n: Long) : Boolean = is_pow(3 * n + 1) + +def last_odd(n: Long) : Long = + if (is_hard(n)) n else + if (n % 2 == 0) last_odd(n / 2) else + last_odd(3 * n + 1) + + +//for (i <- 1 to 130) println(s"$i: ${last_odd(i)}") + } + + +