progs/collatz.scala
author Christian Urban <christian.urban@kcl.ac.uk>
Fri, 26 Feb 2021 08:47:18 +0000
changeset 824 284ac979f289
parent 407 4b454a6d1814
permissions -rw-r--r--
updated while tests
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
407
4b454a6d1814 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
     1
def collatz(n: BigInt) : Boolean = {
4b454a6d1814 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
     2
  if (n == 1) true else 
4b454a6d1814 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
     3
  if (n % 2 == 0) collatz(n / 2) else 
4b454a6d1814 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
     4
  collatz(3 * n + 1)
4b454a6d1814 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
     5
}