Idoneal numbers
func is_idoneal (n) {
for a in (1..n) {
for b in (a+1 .. n) {
break if (a*b + a + b > n)
for c in (b+1 .. n) {
var sum = (a*b + b*c + a*c)
return false if (n == sum)
break if (sum > n)
}
}
}
return true
}
1..255 -> grep(is_idoneal).each_slice(10, {|*a|
say a.map { '%4s' % _ }.join(' ')
})Output:
Last updated
Was this helpful?