aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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("");