Hailstone sequence: Difference between revisions

m
Line 6,009:
<syntaxhighlight lang="kotlin">
fun hailstone(start: Int) = generateSequence(start) { n ->
when {
if (n == 1) null else if (n % 2 == 0) n / 2 else n * 3 + 1
n == 1 -> null
n % 2 == 0 -> n / 2
if (n == 1) null else if (n % 2 == 0) n / 2 else-> n * 3 + 1
}
}
 
Line 6,015 ⟶ 6,019:
val hail27 = hailstone(27).toList()
println("The hailstone sequence for 27 has ${hail27.size} elements:\n$hail27")
 
val (n, length) = (1..100000).asSequence().map { it to hailstone(it).count() }.maxBy { it.second }
.map { it to hailstone(it).count() }
.maxBy { it.second }
println("The number between 1 and 100000 with the longest hailstone sequence is $n, of length $length")
}
44

edits