progs/collatz2.scala
author Christian Urban <christian.urban@kcl.ac.uk>
Thu, 09 Dec 2021 00:07:51 +0000
changeset 862 3ea5ba4bc3b4
parent 409 fb8ee3f58d19
permissions -rw-r--r--
updated
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
409
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
     1
def collatz(n: BigInt) : Boolean = n match {
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
     2
  case n if (n == 1) => true
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
     3
  case n if (n % 2 == 0) => collatz(n / 2)  
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
     4
  case _ => collatz(3 * n + 1)
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
     5
}