diff options
| author | Mohammad S Anwar <mohammad.anwar@yahoo.com> | 2022-06-22 18:49:32 +0100 |
|---|---|---|
| committer | Mohammad S Anwar <mohammad.anwar@yahoo.com> | 2022-06-22 18:49:32 +0100 |
| commit | 1eb2ce7af6be94f2a5ea35ea843b1903dbcfac05 (patch) | |
| tree | f9e1262826f2b0d987152e82c25160d8027405f8 /challenge-170 | |
| parent | 41c5dfc6960176a72ed5aeb109b5dfd6080b6a6e (diff) | |
| download | perlweeklychallenge-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-x | challenge-170/dario-mazzeo/perl/ch-1.pl | 11 | ||||
| -rwxr-xr-x | challenge-170/dario-mazzeo/perl/ch-2.pl | 61 |
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 |
