aboutsummaryrefslogtreecommitdiff
path: root/challenge-170
diff options
context:
space:
mode:
authorMohammad S Anwar <mohammad.anwar@yahoo.com>2022-06-22 18:49:32 +0100
committerMohammad S Anwar <mohammad.anwar@yahoo.com>2022-06-22 18:49:32 +0100
commit1eb2ce7af6be94f2a5ea35ea843b1903dbcfac05 (patch)
treef9e1262826f2b0d987152e82c25160d8027405f8 /challenge-170
parent41c5dfc6960176a72ed5aeb109b5dfd6080b6a6e (diff)
downloadperlweeklychallenge-club-1eb2ce7af6be94f2a5ea35ea843b1903dbcfac05.tar.gz
perlweeklychallenge-club-1eb2ce7af6be94f2a5ea35ea843b1903dbcfac05.tar.bz2
perlweeklychallenge-club-1eb2ce7af6be94f2a5ea35ea843b1903dbcfac05.zip
- Added solutions by Dario Mazzeo.
Diffstat (limited to 'challenge-170')
-rwxr-xr-xchallenge-170/dario-mazzeo/perl/ch-1.pl11
-rwxr-xr-xchallenge-170/dario-mazzeo/perl/ch-2.pl61
2 files changed, 72 insertions, 0 deletions
diff --git a/challenge-170/dario-mazzeo/perl/ch-1.pl b/challenge-170/dario-mazzeo/perl/ch-1.pl
new file mode 100755
index 0000000000..eff3b86cec
--- /dev/null
+++ b/challenge-170/dario-mazzeo/perl/ch-1.pl
@@ -0,0 +1,11 @@
+# THE WEEKLY CHALLENGE - 170
+# Task 1: Primorial Numbers
+# Autore: Dario Mazzeo
+
+my @primi=(1, 2, 3, 5, 7, 11, 13, 17, 19, 23);
+my $tmp=1;
+
+for (my $i=0; $i<10; $i++){
+ $tmp=$primi[$i]*$tmp;
+ print "$tmp\n";
+} \ No newline at end of file
diff --git a/challenge-170/dario-mazzeo/perl/ch-2.pl b/challenge-170/dario-mazzeo/perl/ch-2.pl
new file mode 100755
index 0000000000..f651c36bf2
--- /dev/null
+++ b/challenge-170/dario-mazzeo/perl/ch-2.pl
@@ -0,0 +1,61 @@
+# THE WEEKLY CHALLENGE - 170
+# Task 2: Kronecker Product
+# Autore: Dario Mazzeo
+
+# Separare le righe della matrica con il carattere ";"
+my $inputA="1,2;3,4";
+my $inputB="5,6;7,8";
+
+# Esempio n. 2
+# $inputA="1,-4,7;-2,3,3";
+# $inputB="8,-9,-6,5;1,-3,-4,7;2,8,-8,-3;1,2,-5,-1";
+
+my %AB=();
+my @righeA=split(";", $inputA); my @colonneA=();
+my @righeB=(); my @colonneB=();
+my $rr=0; my $cc=0;
+
+foreach my $rigaA (@righeA){
+ @colonneA=split(",", $rigaA);
+ foreach my $colonnaA (@colonneA){
+ my $vettore=Moltiplica($colonnaA, $inputB);
+ @righeB=split(";",$vettore);
+ foreach my $rigaB (@righeB){
+ @colonneB=split(",",$rigaB);
+ foreach my $colonnaB (@colonneB){
+ $AB{"$rr-$cc"}=$colonnaB;
+ $cc++;
+ }
+ $rr++; $cc-=$#colonneB+1;
+ }
+ $rr-=$#righeB+1; $cc+=$#colonneB+1;
+ }
+ $rr+=$#righeB+1; $cc=0;
+}
+
+foreach my $r (0 .. ($#righeA+1)*($#righeB+1)){
+ foreach my $c (0 .. ($#colonneA+1)*($#colonneB+1)){
+ print $AB{"$r-$c"}." ";
+ }
+ print "\n";
+}
+
+exit;
+
+
+
+sub Moltiplica{
+my $mul=$_[0];
+my $arr=$_[1];
+my $tmp="";
+my $ss=1;
+
+my @valori=split(/[,;]/, $arr);
+my @separatori=split(/-?\d*/, $arr);
+foreach my $v (@valori){
+ $tmp.=($mul*$v).@separatori[$ss];
+ $ss++;
+}
+
+return $tmp;
+} \ No newline at end of file