Factors of an integer: Difference between revisions

Content added Content deleted
mNo edit summary
(→‎{{header|Sidef}}: mentioned the built-in function)
Line 4,632: Line 4,632:


=={{header|Sidef}}==
=={{header|Sidef}}==
Built-in:
<lang ruby>func factors(n) {
<lang ruby>say divisors(97) #=> [1, 97]
say divisors(2695) #=> [1, 5, 7, 11, 35, 49, 55, 77, 245, 385, 539, 2695]</lang>

Trial-division (slow for large n):

<lang ruby>func divisors(n) {
gather {
gather {
{ |d|
{ |d|
Line 4,640: Line 4,646:
}
}
 
 
for n [53, 64, 32766] {
[53, 64, 32766].each {|n|
say "factors(#{n}): #{factors(n)}"
say "divisors(#{n}): #{divisors(n)}"
}</lang>
}</lang>
{{out}}
{{out}}
<pre>
<pre>
factors(53): [1, 53]
divisors(53): [1, 53]
factors(64): [1, 2, 4, 8, 16, 32, 64]
divisors(64): [1, 2, 4, 8, 16, 32, 64]
factors(32766): [1, 2, 3, 6, 43, 86, 127, 129, 254, 258, 381, 762, 5461, 10922, 16383, 32766]
divisors(32766): [1, 2, 3, 6, 43, 86, 127, 129, 254, 258, 381, 762, 5461, 10922, 16383, 32766]
</pre>
</pre>