Sha256: e2e4fb1e999760a8e49d18232ad166695034d103e759dbb803315f983a67aa32
Contents?: true
Size: 529 Bytes
Versions: 118
Compression:
Stored size: 529 Bytes
Contents
enum CollatzConjectureError: Error { case numberNotPositive } struct CollatzConjecture { static func steps(_ number: Int) throws -> Int? { guard number > 0 else { throw CollatzConjectureError.numberNotPositive } var number = number var steps = 0 while number > 1 { steps += 1 if number % 2 == 0 { number /= 2 } else { number = number * 3 + 1 } } return steps } }
Version data entries
118 entries across 118 versions & 1 rubygems