aboutsummaryrefslogtreecommitdiff
path: root/challenge-023
diff options
context:
space:
mode:
authorMohammad S Anwar <Mohammad.Anwar@yahoo.com>2019-09-01 22:59:20 +0100
committerGitHub <noreply@github.com>2019-09-01 22:59:20 +0100
commit65728cdbf6940af0a126c1dca51cbfb4136fbbfb (patch)
treec19e505f77ac73bec9a407e54f781972ea4cd3dc /challenge-023
parentc6b9bb6d65a345cb90a1f055d7bd42f9511d4e92 (diff)
parent21cb1d0b225e6dc81a30d810c3f4063b7570bd1a (diff)
downloadperlweeklychallenge-club-65728cdbf6940af0a126c1dca51cbfb4136fbbfb.tar.gz
perlweeklychallenge-club-65728cdbf6940af0a126c1dca51cbfb4136fbbfb.tar.bz2
perlweeklychallenge-club-65728cdbf6940af0a126c1dca51cbfb4136fbbfb.zip
Merge pull request #587 from adamcrussell/challenge-023
Challenge 023
Diffstat (limited to 'challenge-023')
-rw-r--r--challenge-023/adam-russell/blog.txt1
-rw-r--r--challenge-023/adam-russell/perl5/ch-1.pl29
-rw-r--r--challenge-023/adam-russell/perl5/ch-2.pl21
3 files changed, 51 insertions, 0 deletions
diff --git a/challenge-023/adam-russell/blog.txt b/challenge-023/adam-russell/blog.txt
new file mode 100644
index 0000000000..be945e653a
--- /dev/null
+++ b/challenge-023/adam-russell/blog.txt
@@ -0,0 +1 @@
+https://adamcrussell.livejournal.com/7762.html
diff --git a/challenge-023/adam-russell/perl5/ch-1.pl b/challenge-023/adam-russell/perl5/ch-1.pl
new file mode 100644
index 0000000000..77e4f5ffaf
--- /dev/null
+++ b/challenge-023/adam-russell/perl5/ch-1.pl
@@ -0,0 +1,29 @@
+use strict;
+use warnings;
+##
+# Create a script that prints nth order forward difference series.
+##
+sub forward_difference{
+ my($order, $numbers) = @_;
+ if(!$order || @{$numbers} == 1){
+ return $numbers;
+ }
+ else{
+ my $reduced = [];
+ my $previous = $numbers->[0];
+ for(my $i = 1; $i < @{$numbers}; $i++){
+ push @{$reduced}, $numbers->[$i] - $previous;
+ $previous = $numbers->[$i];
+ }
+ forward_difference($order - 1, $reduced);
+ }
+
+}
+
+
+MAIN:{
+ my $order = $ARGV[0];
+ my @numbers = @ARGV[1 .. (@ARGV - 1)];
+ my $reduced = forward_difference($order, \@numbers);
+ print join(", ", @{$reduced}) . "\n";
+}
diff --git a/challenge-023/adam-russell/perl5/ch-2.pl b/challenge-023/adam-russell/perl5/ch-2.pl
new file mode 100644
index 0000000000..75c5561781
--- /dev/null
+++ b/challenge-023/adam-russell/perl5/ch-2.pl
@@ -0,0 +1,21 @@
+use strict;
+use warnings;
+##
+# Create a script that prints Prime Decomposition of a given number.
+##
+sub prime_factor{
+ my $x = shift(@_);
+ my @factors;
+ for (my $y = 2; $y <= $x; $y++){
+ next if $x % $y;
+ $x /= $y;
+ push @factors, $y;
+ redo;
+ }
+ return @factors;
+}
+
+MAIN:{
+ my $n = $ARGV[0];
+ print join(", ", prime_factor($n)) . "\n";
+}