Semiprime: Difference between revisions

m
Added the Sidef language
m (→‎version 2: added/changed whitespace and comments, made other changes, added a much higher range for 2nd output.)
m (Added the Sidef language)
Line 1,392:
1680 -> FALSE
</pre>
 
=={{header|Sidef}}==
<lang ruby>require 'ntheory';
 
func is_semiprime(n) {
static nt = %S'ntheory';
if (var p = [nt.trial_factor(n, 500)]) {
return false if (p.len > 2);
return !!nt.is_prime(p[1]) if (p.len == 2);
}
[nt.factor(n)].len == 2;
}
 
say [2,4,99,100,1679,32768,1234567,9876543,900660121].grep{ is_semiprime(_) }</lang>
 
{{out}}
<pre>
[4, 1679, 1234567, 900660121]
</pre>
 
=={{header|Swift}}==
 
2,747

edits