Special divisors: Difference between revisions
Content added Content deleted
Drkameleon (talk | contribs) (added Arturo) |
(→{{header|Ruby}}: Add Ruby) |
||
Line 1,911: | Line 1,911: | ||
Found 72 special divisors N that reverse(D) divides reverse(N) for all divisors D of N, where N < 200 |
Found 72 special divisors N that reverse(D) divides reverse(N) for all divisors D of N, where N < 200 |
||
done... |
done... |
||
</pre> |
|||
=={{header|Ruby}}== |
|||
<syntaxhighlight lang="ruby">class Integer |
|||
def reverse |
|||
to_s.reverse.to_i |
|||
end |
|||
def divisors |
|||
res = [] |
|||
(1..Integer.sqrt(self)).each do |cand| |
|||
div, mod = self.divmod(cand) |
|||
res << cand << div if mod == 0 |
|||
end |
|||
res.uniq.sort |
|||
end |
|||
def special_divisors? |
|||
r = self.reverse |
|||
divisors.all?{|d| r % d.reverse == 0} |
|||
end |
|||
end |
|||
p (1..200).select(&:special_divisors?)</syntaxhighlight> |
|||
{{out}} |
|||
<pre> |
|||
[1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 13, 17, 19, 22, 23, 26, 27, 29, 31, 33, 37, 39, 41, 43, 44, 46, 47, 53, 55, 59, 61, 62, 66, 67, 69, 71, 73, 77, 79, 82, 83, 86, 88, 89, 93, 97, 99, 101, 103, 107, 109, 113, 121, 127, 131, 137, 139, 143, 149, 151, 157, 163, 167, 169, 173, 179, 181, 187, 191, 193, 197, 199] |
|||
</pre> |
</pre> |
||