aboutsummaryrefslogtreecommitdiff
path: root/challenge-146
diff options
context:
space:
mode:
Diffstat (limited to 'challenge-146')
-rw-r--r--challenge-146/mohammad-anwar/perl/ch-1.pl48
-rw-r--r--challenge-146/mohammad-anwar/raku/ch-1.raku36
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++;
+ }
+}