|
func is_duffinian(n) {
|
|
n.is_composite && n.is_coprime(n.sigma)
|
|
}
|
|
|
|
say "First 50 Duffinian numbers:"
|
|
say 50.by(is_duffinian)
|
|
|
|
say "\nFirst 15 Duffinian triplets:"
|
|
15.by{|n| ^3 -> all {|k| is_duffinian(n+k) } }.each {|n|
|
|
printf("(%s, %s, %s)\n", n, n+1, n+2)
|
|
}
|