aboutsummaryrefslogtreecommitdiff
path: root/challenge-108
diff options
context:
space:
mode:
authorMohammad S Anwar <mohammad.anwar@yahoo.com>2021-04-14 04:25:53 +0100
committerMohammad S Anwar <mohammad.anwar@yahoo.com>2021-04-14 04:25:53 +0100
commit6dd3064d49b5ea66646c0d6c8419203f7ea1b869 (patch)
tree84f516b4d5dfe98e42248a81f2b15d22989a6d51 /challenge-108
parentd6cc1bf5a0cb94d7112c543be6d857e859d818da (diff)
downloadperlweeklychallenge-club-6dd3064d49b5ea66646c0d6c8419203f7ea1b869.tar.gz
perlweeklychallenge-club-6dd3064d49b5ea66646c0d6c8419203f7ea1b869.tar.bz2
perlweeklychallenge-club-6dd3064d49b5ea66646c0d6c8419203f7ea1b869.zip
- Added solutions by Laurent Rosenfeld.
Diffstat (limited to 'challenge-108')
-rw-r--r--challenge-108/laurent-rosenfeld/blog.txt1
-rw-r--r--challenge-108/laurent-rosenfeld/c/ch-1.c7
-rw-r--r--challenge-108/laurent-rosenfeld/cpp/ch-1.cpp8
-rw-r--r--challenge-108/laurent-rosenfeld/d/ch-1.d6
-rw-r--r--challenge-108/laurent-rosenfeld/go/ch-1.go8
-rw-r--r--challenge-108/laurent-rosenfeld/julia/ch-1.julia3
-rw-r--r--challenge-108/laurent-rosenfeld/perl/ch-1.pl8
-rw-r--r--challenge-108/laurent-rosenfeld/perl/ch-2.pl14
-rw-r--r--challenge-108/laurent-rosenfeld/python/ch-1.py2
-rw-r--r--challenge-108/laurent-rosenfeld/raku/ch-1.raku2
-rw-r--r--challenge-108/laurent-rosenfeld/raku/ch-2.raku10
-rw-r--r--challenge-108/laurent-rosenfeld/rust/ch-1.rs4
12 files changed, 73 insertions, 0 deletions
diff --git a/challenge-108/laurent-rosenfeld/blog.txt b/challenge-108/laurent-rosenfeld/blog.txt
new file mode 100644
index 0000000000..03f17974d5
--- /dev/null
+++ b/challenge-108/laurent-rosenfeld/blog.txt
@@ -0,0 +1 @@
+http://blogs.perl.org/users/laurent_r/2021/04/perl-weekly-challenge-108-locate-memory-and-bell-numbers.html
diff --git a/challenge-108/laurent-rosenfeld/c/ch-1.c b/challenge-108/laurent-rosenfeld/c/ch-1.c
new file mode 100644
index 0000000000..734e8ad688
--- /dev/null
+++ b/challenge-108/laurent-rosenfeld/c/ch-1.c
@@ -0,0 +1,7 @@
+#include <stdio.h>
+
+int main () {
+ int val = 42;
+ printf("Memory location of val is: %p", &val);
+ return 0;
+}
diff --git a/challenge-108/laurent-rosenfeld/cpp/ch-1.cpp b/challenge-108/laurent-rosenfeld/cpp/ch-1.cpp
new file mode 100644
index 0000000000..ec2ed9970a
--- /dev/null
+++ b/challenge-108/laurent-rosenfeld/cpp/ch-1.cpp
@@ -0,0 +1,8 @@
+#include <iostream>
+using namespace std;
+
+int main() {
+ int array[4] = {42, 43, 44, 45};
+ cout << "Memory address of the array is: " << array;
+ return 0;
+}
diff --git a/challenge-108/laurent-rosenfeld/d/ch-1.d b/challenge-108/laurent-rosenfeld/d/ch-1.d
new file mode 100644
index 0000000000..be6f0c780d
--- /dev/null
+++ b/challenge-108/laurent-rosenfeld/d/ch-1.d
@@ -0,0 +1,6 @@
+import std.stdio;
+
+void main () {
+ int val = 42;
+ writeln("Address of val is: ", &val);
+}
diff --git a/challenge-108/laurent-rosenfeld/go/ch-1.go b/challenge-108/laurent-rosenfeld/go/ch-1.go
new file mode 100644
index 0000000000..19588849b5
--- /dev/null
+++ b/challenge-108/laurent-rosenfeld/go/ch-1.go
@@ -0,0 +1,8 @@
+package main
+
+import "fmt"
+
+func main() {
+ i := 42
+ fmt.Println("Address of vaiable i is: ", &i)
+}
diff --git a/challenge-108/laurent-rosenfeld/julia/ch-1.julia b/challenge-108/laurent-rosenfeld/julia/ch-1.julia
new file mode 100644
index 0000000000..d2a13e9573
--- /dev/null
+++ b/challenge-108/laurent-rosenfeld/julia/ch-1.julia
@@ -0,0 +1,3 @@
+arr = [1, 2, 3, 7]
+p_arr = pointer(arr)
+println("Memory address of arr is: ", p_arr)
diff --git a/challenge-108/laurent-rosenfeld/perl/ch-1.pl b/challenge-108/laurent-rosenfeld/perl/ch-1.pl
new file mode 100644
index 0000000000..5076961fde
--- /dev/null
+++ b/challenge-108/laurent-rosenfeld/perl/ch-1.pl
@@ -0,0 +1,8 @@
+use strict;
+use warnings;
+use feature "say";
+
+my $i = 42;
+my $ref = \$i;
+my $addr = $1 if $ref =~ /\((0x\w+)/;
+say $addr;
diff --git a/challenge-108/laurent-rosenfeld/perl/ch-2.pl b/challenge-108/laurent-rosenfeld/perl/ch-2.pl
new file mode 100644
index 0000000000..914774d803
--- /dev/null
+++ b/challenge-108/laurent-rosenfeld/perl/ch-2.pl
@@ -0,0 +1,14 @@
+use strict;
+use warnings;
+use feature "say";
+use constant MAX => 9;
+
+my @tr;
+$tr[0][0] = 1;
+for my $row (1..MAX) {
+ $tr[$row][0] = $tr[$row - 1][-1];
+ for my $i (1..$row) {
+ $tr[$row][$i] = $tr[$row][$i-1] + $tr[$row - 1][$i-1];
+ }
+}
+say join " ", map { $tr[$_][0] } 0..$#tr;
diff --git a/challenge-108/laurent-rosenfeld/python/ch-1.py b/challenge-108/laurent-rosenfeld/python/ch-1.py
new file mode 100644
index 0000000000..0cfac46505
--- /dev/null
+++ b/challenge-108/laurent-rosenfeld/python/ch-1.py
@@ -0,0 +1,2 @@
+i = 42
+print("Address of variable i is: ", id(i))
diff --git a/challenge-108/laurent-rosenfeld/raku/ch-1.raku b/challenge-108/laurent-rosenfeld/raku/ch-1.raku
new file mode 100644
index 0000000000..6e20651765
--- /dev/null
+++ b/challenge-108/laurent-rosenfeld/raku/ch-1.raku
@@ -0,0 +1,2 @@
+my $i = 42;
+say $i.WHERE;
diff --git a/challenge-108/laurent-rosenfeld/raku/ch-2.raku b/challenge-108/laurent-rosenfeld/raku/ch-2.raku
new file mode 100644
index 0000000000..a9540f1fb2
--- /dev/null
+++ b/challenge-108/laurent-rosenfeld/raku/ch-2.raku
@@ -0,0 +1,10 @@
+constant \MAX = 9;
+my @tr;
+@tr[0][0] = 1;
+for 1..MAX -> $row {
+ @tr[$row][0] = @tr[$row - 1][*-1];
+ for 1..$row -> $i {
+ @tr[$row][$i] = @tr[$row][$i-1] + @tr[$row - 1][$i-1];
+ }
+}
+say join " ", map { @tr[$_][0] }, 0..@tr.end;
diff --git a/challenge-108/laurent-rosenfeld/rust/ch-1.rs b/challenge-108/laurent-rosenfeld/rust/ch-1.rs
new file mode 100644
index 0000000000..8244682001
--- /dev/null
+++ b/challenge-108/laurent-rosenfeld/rust/ch-1.rs
@@ -0,0 +1,4 @@
+fn main() {
+ let val: i32 = 42;
+ println!("Memory locacion of variable val is: {:p}", &val);
+}