aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--challenge-051/cristian-heredia/perl/ch-1.pl68
-rw-r--r--challenge-051/cristian-heredia/perl/ch-2.pl60
2 files changed, 128 insertions, 0 deletions
diff --git a/challenge-051/cristian-heredia/perl/ch-1.pl b/challenge-051/cristian-heredia/perl/ch-1.pl
new file mode 100644
index 0000000000..98658a7cc0
--- /dev/null
+++ b/challenge-051/cristian-heredia/perl/ch-1.pl
@@ -0,0 +1,68 @@
+use strict;
+use warnings;
+
+#3 Sum
+#Given an array @Lof integers. Write a script to find all unique triplets such that a + b + c is same as the given target T. Also make sure a <= b <= c.
+#
+#Here is wiki page for more information.
+#
+#Example:
+#
+#@L = (-25, -10, -7, -3, 2, 4, 8, 10);
+#
+#One such triplet for target 0 i.e. -10 + 2 + 8 = 0.
+
+my @aNumber;
+my $digits = 7;
+my $start = '-99';
+my $end = 99;
+my $random_number;
+my $target = 0;
+my $total;
+my $message = '';
+
+createNumber();
+checkNumber();
+
+sub createNumber {
+
+ for (my $i = 0; $i < $digits; $i++) {
+ $random_number = $start + int rand ($end - $start + 1);
+ $aNumber[$i] = $random_number;
+ }
+ print "@aNumber\n";
+}
+
+sub checkNumber {
+
+ for (my $j=0; $j<$digits; $j++) {
+
+ for (my $k=0; $k<$digits; $k++) {
+
+ if ($j != $k){
+
+ for (my $l=0; $l<$digits; $l++) {
+
+ if ($l != $k and $j != $l){
+ $total = $aNumber[$j] +$aNumber[$k] +$aNumber[$l];
+ if ($total == $target and $aNumber[$j] < $aNumber[$k] and $aNumber[$k] < $aNumber[$l]) {
+ $message = $message."Result that match the criteria are the numbers: $aNumber[$j], $aNumber[$k], $aNumber[$l]\n";
+ print "$message\n";
+ }
+ }
+ }
+ }
+ }
+ }
+ if ($message eq '') {
+ print "There are no results\n";
+ }
+}
+
+
+
+
+
+
+
+
diff --git a/challenge-051/cristian-heredia/perl/ch-2.pl b/challenge-051/cristian-heredia/perl/ch-2.pl
new file mode 100644
index 0000000000..d448db8b4d
--- /dev/null
+++ b/challenge-051/cristian-heredia/perl/ch-2.pl
@@ -0,0 +1,60 @@
+use strict;
+use warnings;
+
+#Colourful Number
+#Write a script to display all Colorful Number with 3 digits.
+#
+#A number can be declare Colorful Number where all the products of consecutive subsets of digit are different.
+#
+#For example, 263 is a Colorful Number since 2, 6, 3, 2x6, 6x3, 2x6x3 are unique.
+
+my @aNumber;
+my $digits = 3;
+my $random_number;
+my $number = '';
+my $first = '';
+my $second = '';
+my $third = '';
+my $firstMult = '';
+my $secondMult = '';
+my $thirdMult = '';
+my $fourthMult = '';
+
+createNumber();
+checkNumber();
+
+
+sub createNumber {
+
+ for (my $i = 0; $i < $digits; $i++) {
+ $random_number = int(rand(10));
+ $aNumber[$i] = $random_number;
+ $number = $number.$random_number;
+ }
+
+}
+
+sub checkNumber {
+
+ $first = $aNumber[0];
+ $second = $aNumber[1];
+ $third = $aNumber[2];
+ $firstMult = $first * $second;
+ $secondMult = $first * $third;
+ $thirdMult = $second * $third;
+ $fourthMult = $first * $second * $third;
+
+ if ($first != $second and $first != $third and $second != $third
+ and $firstMult != $first and $firstMult != $second and $firstMult != $third
+ and $secondMult != $first and $secondMult != $second and $secondMult != $third
+ and $thirdMult != $first and $thirdMult != $second and $thirdMult != $third
+ and $fourthMult != $first and $fourthMult != $second and $fourthMult != $third
+ and $firstMult != $secondMult and $firstMult != $second and $secondMult != $third) {
+ print "The number $number is a colorful Number";
+ }
+ else {
+ print "The number $number is not a colorful Number";
+ }
+
+}
+