diff options
Diffstat (limited to 'challenge-146')
| -rw-r--r-- | challenge-146/mohammad-anwar/perl/ch-1.pl | 48 | ||||
| -rw-r--r-- | challenge-146/mohammad-anwar/raku/ch-1.raku | 36 |
2 files changed, 84 insertions, 0 deletions
diff --git a/challenge-146/mohammad-anwar/perl/ch-1.pl b/challenge-146/mohammad-anwar/perl/ch-1.pl new file mode 100644 index 0000000000..61dae56683 --- /dev/null +++ b/challenge-146/mohammad-anwar/perl/ch-1.pl @@ -0,0 +1,48 @@ +#!/usr/bin/perl + +=head1 + +Week 146: + + https://theweeklychallenge.org/blog/perl-weekly-challenge-146 + +Task #1: 10001st Prime Number + + Write a script to generate the 10001st prime number. + +=cut + +use strict; +use warnings; +use Test::More; + +is(find_prime(10_001), 104743, 'Example'); + +done_testing; + +# +# +# METHODS + +sub find_prime { + my ($count) = @_; + + my $c = 0; + my $n = 2; + while ($c <= $count) { + if (is_prime($n)) { + return $n if (++$c == $count); + } + $n++; + } +} + +sub is_prime { + my ($n) = @_; + + foreach my $i (2 .. sqrt $n) { + return 0 unless $n % $i + } + + return 1; +} diff --git a/challenge-146/mohammad-anwar/raku/ch-1.raku b/challenge-146/mohammad-anwar/raku/ch-1.raku new file mode 100644 index 0000000000..01f4e3103e --- /dev/null +++ b/challenge-146/mohammad-anwar/raku/ch-1.raku @@ -0,0 +1,36 @@ +#!/usr/bin/env raku + +=begin pod + +Week 146: + + https://theweeklychallenge.org/blog/perl-weekly-challenge-146 + +Task #1: 10001st Prime Number + + Write a script to generate the 10001st prime number. + +=end pod + +use Test; + +is find-prime(10_001), 104743, 'Example'; + +done-testing; + +# +# +# METHOD + +sub find-prime(Int $count --> Int) { + + my Int $c = 0; + my Int $n = 2; + while $c <= $count { + if $n.is-prime { + ++$c; + return $n if $c == $count; + } + $n++; + } +} |
