aboutsummaryrefslogtreecommitdiff
path: root/challenge-021/ruben-westerberg
diff options
context:
space:
mode:
authorRuben Westerberg <drclaw@mac.com>2019-08-17 09:46:14 +1000
committerRuben Westerberg <drclaw@mac.com>2019-08-17 09:47:17 +1000
commitd851aa7a45e61e72d26abbfef7e167521b7ee50e (patch)
tree6eb0e4cab21b89821c5c4e92f3f06bff503a5f86 /challenge-021/ruben-westerberg
parent44914b1f1e54904b5326d5a03a118b1b7ff63091 (diff)
downloadperlweeklychallenge-club-d851aa7a45e61e72d26abbfef7e167521b7ee50e.tar.gz
perlweeklychallenge-club-d851aa7a45e61e72d26abbfef7e167521b7ee50e.tar.bz2
perlweeklychallenge-club-d851aa7a45e61e72d26abbfef7e167521b7ee50e.zip
Solutions to ch1 p5 and p6
Diffstat (limited to 'challenge-021/ruben-westerberg')
-rwxr-xr-xchallenge-021/ruben-westerberg/perl5/ch-1.pl18
-rwxr-xr-xchallenge-021/ruben-westerberg/perl6/ch-1.p611
2 files changed, 29 insertions, 0 deletions
diff --git a/challenge-021/ruben-westerberg/perl5/ch-1.pl b/challenge-021/ruben-westerberg/perl5/ch-1.pl
new file mode 100755
index 0000000000..4af2eb221f
--- /dev/null
+++ b/challenge-021/ruben-westerberg/perl5/ch-1.pl
@@ -0,0 +1,18 @@
+#!/usr/bin/env perl
+
+use strict;
+use warnings;
+use v5.26;
+use bignum (a=>100);
+#use Math::BigRat;
+#compute Euler's number to the nth term
+#
+my $degree=$ARGV[0]//10;
+my $i=1;
+my $sum=1;#Math::BigRat->new(1/1);
+while ($i <= $degree ) {
+ state $fac=1;
+ $sum+=1/($fac*=$i++);
+}
+#printf "Eulers constant to $degree terms:\n%s\n",$sum->as_float(100);
+printf "Eulers constant to $degree terms:\n%s\n",$sum;
diff --git a/challenge-021/ruben-westerberg/perl6/ch-1.p6 b/challenge-021/ruben-westerberg/perl6/ch-1.p6
new file mode 100755
index 0000000000..b4b3ff5950
--- /dev/null
+++ b/challenge-021/ruben-westerberg/perl6/ch-1.p6
@@ -0,0 +1,11 @@
+#!/usr/bin/env perl6
+#Compute Eulers number to the nth term
+#
+my $degree=@*ARGS[0]//10;
+my $i=1;
+my $sum=FatRat.new(1);
+while ($i <= $degree ) {
+ state $fac=FatRat.new(1);
+ $sum+=1/($fac*=$i++);
+}
+put "Eulers constant to $degree terms:\n%s\n", $sum.base-repeating(10).join("");