Happy numbers
func happy(n) is cached {
static seen = Hash()
return true if n.is_one
return false if seen.exists(n)
seen{n} = 1
happy(n.digits.sum { _*_ })
}
say happy.first(10)
Output:
[1, 7, 10, 13, 19, 23, 28, 31]
func happy(n) is cached {
static seen = Hash()
return true if n.is_one
return false if seen.exists(n)
seen{n} = 1
happy(n.digits.sum { _*_ })
}
say happy.first(10)
[1, 7, 10, 13, 19, 23, 28, 31]