aboutsummaryrefslogtreecommitdiff
path: root/challenge-003
diff options
context:
space:
mode:
authorKhaled Mohamed Elborey <37024839+khalidelboray@users.noreply.github.com>2019-04-08 15:26:13 +0200
committerGitHub <noreply@github.com>2019-04-08 15:26:13 +0200
commitb165c1cc5aff2c24a4f9192cfe54a4a2cf146e55 (patch)
treea643a3356699990e7a17c535750e963cf406ca31 /challenge-003
parente22859244f3fb6260375366e0dbacbb479608a9e (diff)
downloadperlweeklychallenge-club-b165c1cc5aff2c24a4f9192cfe54a4a2cf146e55.tar.gz
perlweeklychallenge-club-b165c1cc5aff2c24a4f9192cfe54a4a2cf146e55.tar.bz2
perlweeklychallenge-club-b165c1cc5aff2c24a4f9192cfe54a4a2cf146e55.zip
Create ch-2.pl
Solution for Challenge #2 , Week 3
Diffstat (limited to 'challenge-003')
-rw-r--r--challenge-003/khalid/ch-2.pl29
1 files changed, 29 insertions, 0 deletions
diff --git a/challenge-003/khalid/ch-2.pl b/challenge-003/khalid/ch-2.pl
new file mode 100644
index 0000000000..1050717491
--- /dev/null
+++ b/challenge-003/khalid/ch-2.pl
@@ -0,0 +1,29 @@
+use strict;
+sub pascal {
+ my $row_count = shift;
+ my @next = (1);
+ for my $num (1..$row_count){
+ my $count = @next;
+ my $spa = 30 - 2 * $count;
+ my $form = (" " x $spa).("%4d" x $count)."\n";
+ printf $form, @next;
+ @next = (1, (map $next[$_]+$next[$_+1], 0 .. $num-2) ,1);
+ }
+}
+pascal($ARGV[0]);
+# $ perl ch-2.pl 15
+# 1
+# 1 1
+# 1 2 1
+# 1 3 3 1
+# 1 4 6 4 1
+# 1 5 10 10 5 1
+# 1 6 15 20 15 6 1
+# 1 7 21 35 35 21 7 1
+# 1 8 28 56 70 56 28 8 1
+# 1 9 36 84 126 126 84 36 9 1
+# 1 10 45 120 210 252 210 120 45 10 1
+# 1 11 55 165 330 462 462 330 165 55 11 1
+# 1 12 66 220 495 792 924 792 495 220 66 12 1
+# 1 13 78 286 7151287171617161287 715 286 78 13 1
+# 1 14 91 3641001200230033432300320021001 364 91 14 1