aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Proctor <simon.proctor@zpg.co.uk>2019-08-12 14:46:19 +0100
committerSimon Proctor <simon.proctor@zpg.co.uk>2019-08-12 14:46:19 +0100
commit54e61c9e288c3a933b1d6979fe3d344e65c4292d (patch)
tree8092db5c19795febdc97c8ec54195c62f18b9290
parent82fa944ce1e0bc82d2729ba9acbf973ded89ec8b (diff)
downloadperlweeklychallenge-club-54e61c9e288c3a933b1d6979fe3d344e65c4292d.tar.gz
perlweeklychallenge-club-54e61c9e288c3a933b1d6979fe3d344e65c4292d.tar.bz2
perlweeklychallenge-club-54e61c9e288c3a933b1d6979fe3d344e65c4292d.zip
Calculate Eulers Number (for those moments you really need it precise)
-rw-r--r--challenge-021/simon-proctor/perl6/ch-1.p617
1 files changed, 17 insertions, 0 deletions
diff --git a/challenge-021/simon-proctor/perl6/ch-1.p6 b/challenge-021/simon-proctor/perl6/ch-1.p6
new file mode 100644
index 0000000000..bbfac90083
--- /dev/null
+++ b/challenge-021/simon-proctor/perl6/ch-1.p6
@@ -0,0 +1,17 @@
+#!/usr/bin/env perl6
+
+use v6;
+
+multi sub MAIN( Bool :h(:$help) where so * ) { say $*USAGE; }
+
+#| Calulate Eulers number for up to <limit> (defaults 100)
+#| also displays the system default version to compare
+multi sub MAIN(
+ UInt $limit = 100 #= Max value of n to calcluate to
+) {
+ my multi sub fact( 0 ) { 1 }
+ my multi sub fact( UInt $n ) { [*] 1..$n }
+
+ say "Calcuated to n={$limit} {[+] (0..$limit).map({FatRat.new( 1, fact($_))})}";
+ say "Constant {e}";
+}