Semiprime: Difference between revisions

→‎{{header|Perl 6}}: making extensive tests
m (→‎{{header|Perl 6}}: rephrasing)
(→‎{{header|Perl 6}}: making extensive tests)
Line 20:
<lang perl6>sub is-semiprime (Int $n --> Bool) {
return False if $n.is-prime;
myreturn $divisor = first $n %% *, grep &.is-prime, 2 ..given *;
return ($n div first $divisor).is-prime;n %% *,
grep &is-prime, 2 .. *;
}
 
use Test;
say is-semiprime( 1679 );</lang>
my @primes = grep &is-prime, 2 .. 100;
for ^5 {
ok not is-semiprime(@primes.pick);
ok is-semiprime([*] @primes.roll(2));
ok not is-semiprime([*] @primes.roll(3));
ok not is-semiprime([*] @primes.roll(4));
}</lang>
{{out}}
<pre>True</pre>ok 1 -
ok 2 -
ok 3 -
ok 4 -
ok 5 -
ok 6 -
ok 7 -
ok 8 -
ok 9 -
ok 10 -
ok 11 -
ok 12 -
ok 13 -
ok 14 -
ok 15 -
ok 16 -
ok 17 -
ok 18 -
ok 19 -
ok 20 -</pre>
 
=={{header|Racket}}==
1,934

edits