1// The Swift Programming Language
2// https://docs.swift.org/swift-book
3
4func collatz(n: Int) -> Int {
5 if n % 2 == 0 {
6 return n / 2
7 }
8 return 3 * n + 1
9}
10
11func collatzSequence(n: Int) -> String {
12 if (n == 1) {
13 return "1: 1"
14 }
15 var res = "\(n): "
16 var i = n
17 while i != 1 {
18 res += "\(i), "
19 i = collatz(n: i)
20 }
21 res += "1"
22 return res
23}
24
25@main
26struct RosettaCollatz {
27 static func main() {
28 for i in 1...10000 {
29 print(collatzSequence(n: i))
30 }
31 }
32}