progs/collatz.scala
author Christian Urban <urbanc@in.tum.de>
Thu, 14 Nov 2019 13:17:02 +0000
changeset 687 8865f4f2be59
parent 407 4b454a6d1814
permissions -rw-r--r--
updated
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
}