Semiprime: Difference between revisions

1,294 bytes added ,  4 years ago
No edit summary
Line 569:
1680 -> false
1681 -> true</pre>
 
Faster version using 'factor' function from [U|Li]nux Core Utilities library.
<lang ruby>def semiprime(n)
`factor #{n}`.split(' ')[1..-1].map(&.to_u64).size == 2
end
n = 0xffffffffffffffff_u64
(n-50..n).each { |n| puts "#{n} -> #{semiprime(n)}" }</lang>
{{out}}
<pre>18446744073709551565 -> false
18446744073709551566 -> true
18446744073709551567 -> false
18446744073709551568 -> false
18446744073709551569 -> false
18446744073709551570 -> false
18446744073709551571 -> false
18446744073709551572 -> false
18446744073709551573 -> false
18446744073709551574 -> false
18446744073709551575 -> false
18446744073709551576 -> false
18446744073709551577 -> true
18446744073709551578 -> false
18446744073709551579 -> false
18446744073709551580 -> false
18446744073709551581 -> false
18446744073709551582 -> false
18446744073709551583 -> false
18446744073709551584 -> false
18446744073709551585 -> false
18446744073709551586 -> false
18446744073709551587 -> false
18446744073709551588 -> false
18446744073709551589 -> false
18446744073709551590 -> false
18446744073709551591 -> false
18446744073709551592 -> false
18446744073709551593 -> false
18446744073709551594 -> false
18446744073709551595 -> false
18446744073709551596 -> false
18446744073709551597 -> true
18446744073709551598 -> false
</pre>
 
=={{header|D}}==
Anonymous user