From 0e4a9d68e5fe1560a06f496241416fcfd9d2cd13 Mon Sep 17 00:00:00 2001 From: Mohammad S Anwar Date: Mon, 15 Apr 2019 09:20:47 +0100 Subject: - Added solutions by Jaldhar H. Vyas for Challenge 003. --- challenge-003/jaldhar-h-vyas/perl5/ch-1.pl | 33 +++ challenge-003/jaldhar-h-vyas/perl5/ch-2.pl | 40 +++ challenge-003/jaldhar-h-vyas/perl6/ch-1.p6 | 22 ++ challenge-003/jaldhar-h-vyas/perl6/ch-2.p6 | 17 ++ stats/pwc-challenge-003.json | 401 +++++++++++++++-------------- stats/pwc-master-stats.json | 4 +- stats/pwc-summary-1-30.json | 46 ++-- stats/pwc-summary-31-60.json | 114 ++++---- stats/pwc-summary-61-90.json | 26 +- 9 files changed, 417 insertions(+), 286 deletions(-) create mode 100644 challenge-003/jaldhar-h-vyas/perl5/ch-1.pl create mode 100644 challenge-003/jaldhar-h-vyas/perl5/ch-2.pl create mode 100644 challenge-003/jaldhar-h-vyas/perl6/ch-1.p6 create mode 100644 challenge-003/jaldhar-h-vyas/perl6/ch-2.p6 diff --git a/challenge-003/jaldhar-h-vyas/perl5/ch-1.pl b/challenge-003/jaldhar-h-vyas/perl5/ch-1.pl new file mode 100644 index 0000000000..9f6c62296b --- /dev/null +++ b/challenge-003/jaldhar-h-vyas/perl5/ch-1.pl @@ -0,0 +1,33 @@ +#!/usr/bin/perl +use warnings; +use strict; +use 5.010; + +sub usage { + print <<"-USAGE-"; + Usage: + $0 + + maximum integer to search for 5-smooth numbers +-USAGE- + + exit(1); +} + +sub isSmooth { + my ($num) = @_; + + # get the divisors that _aren't_ multiples of 2, 3, or 5 + my @divisors = grep { ($_ % 2 != 0) && ($_ % 3 != 0) && ($_% 5 != 0) } + (grep { $num % $_ == 0 } (1 .. $num)); + + # 1 is always a divisor so the array will always have atleast one member. + return scalar @divisors == 1; +} + + +if (scalar @ARGV < 1) { + usage(); +} + +say join q{ }, grep { isSmooth($_) } (1 .. $ARGV[0]); diff --git a/challenge-003/jaldhar-h-vyas/perl5/ch-2.pl b/challenge-003/jaldhar-h-vyas/perl5/ch-2.pl new file mode 100644 index 0000000000..ccf52cc81d --- /dev/null +++ b/challenge-003/jaldhar-h-vyas/perl5/ch-2.pl @@ -0,0 +1,40 @@ +#!/usr/bin/perl +use warnings; +use strict; +use 5.010; +sub usage { + print <<"-USAGE-"; + Usage: + $0 + + the number of rows in the triangle +-USAGE- + + exit(1); +} + +sub ptRow { + my ($row, $col) = @_; + + if ($col == 1 || $col == $row) { + return 1; + } + + return ptRow($row - 1, $col - 1) + ptRow($row - 1, $col); +} + +if (scalar @ARGV < 1) { + usage(); +} + +my $height = $ARGV[0]; + +for my $row (1 .. $height) { + for my $col (1 .. $row) { + print ptRow($row, $col); + } + print q{ }; +} + +print "\n"; + diff --git a/challenge-003/jaldhar-h-vyas/perl6/ch-1.p6 b/challenge-003/jaldhar-h-vyas/perl6/ch-1.p6 new file mode 100644 index 0000000000..4c7226933d --- /dev/null +++ b/challenge-003/jaldhar-h-vyas/perl6/ch-1.p6 @@ -0,0 +1,22 @@ +#!/usr/bin/perl6 + +sub isSmooth(Int $num) { + + # get the divisors that _aren't_ multiples of 2, 3, or 5 + my @divisors = (1 .. $num) + .grep( { $num % $_ == 0 } ) + .grep( { ($_ % 2 != 0) && ($_ % 3 != 0) && ($_% 5 != 0) } ); + + # 1 is always a divisor so the array will always have atleast one member. + return @divisors.elems == 1; +} + + + +multi sub MAIN( + Int $max #= search for 5-smooth numbers in the range 1 .. max + ) { + (1 .. $max).grep(&isSmooth).join(' ').say; +} + + diff --git a/challenge-003/jaldhar-h-vyas/perl6/ch-2.p6 b/challenge-003/jaldhar-h-vyas/perl6/ch-2.p6 new file mode 100644 index 0000000000..5290459439 --- /dev/null +++ b/challenge-003/jaldhar-h-vyas/perl6/ch-2.p6 @@ -0,0 +1,17 @@ +#!/usr/bin/perl6 + +multi sub MAIN( + Int $height, #= the number of rows in the triangle + ) { + + my &ptRow = -> $row, $col { + $col == 1 || $col == $row + ?? 1 + !! ptRow($row - 1, $col - 1) + ptRow($row - 1, $col) + }; + + for 1 .. $height -> $row { + print ($row X (1 .. $row)).flat.map(&ptRow).join(), ' '; + } + print "\n"; +} diff --git a/stats/pwc-challenge-003.json b/stats/pwc-challenge-003.json index 2e10426c86..f8046d22f0 100644 --- a/stats/pwc-challenge-003.json +++ b/stats/pwc-challenge-003.json @@ -1,38 +1,158 @@ { - "tooltip" : { - "headerFormat" : "{series.name}
", - "followPointer" : 1, - "pointerFormat" : "{point.name}: {point.y:f}
" + "xAxis" : { + "type" : "category" }, - "yAxis" : { - "title" : { - "text" : "Total Solutions" + "series" : [ + { + "colorByPoint" : 1, + "name" : "Champions", + "data" : [ + { + "y" : 2, + "name" : "Adam Russell", + "drilldown" : "Adam Russell" + }, + { + "drilldown" : "Andrezgz", + "name" : "Andrezgz", + "y" : 2 + }, + { + "name" : "Arne Sommer", + "drilldown" : "Arne Sommer", + "y" : 2 + }, + { + "name" : "Athanasius", + "drilldown" : "Athanasius", + "y" : 2 + }, + { + "y" : 1, + "name" : "Clive Holloway", + "drilldown" : "Clive Holloway" + }, + { + "y" : 1, + "name" : "Daniel Mantovani", + "drilldown" : "Daniel Mantovani" + }, + { + "y" : 2, + "drilldown" : "Duncan C. White", + "name" : "Duncan C. White" + }, + { + "y" : 2, + "name" : "Francis Whittle", + "drilldown" : "Francis Whittle" + }, + { + "name" : "Gustavo Chaves", + "drilldown" : "Gustavo Chaves", + "y" : 1 + }, + { + "name" : "Jaldhar H. Vyas", + "drilldown" : "Jaldhar H. Vyas", + "y" : 4 + }, + { + "name" : "Dr James A. Smith", + "drilldown" : "Dr James A. Smith", + "y" : 4 + }, + { + "drilldown" : "Joelle Maslak", + "name" : "Joelle Maslak", + "y" : 4 + }, + { + "name" : "Khalid", + "drilldown" : "Khalid", + "y" : 2 + }, + { + "y" : 2, + "name" : "Kian-Meng Ang", + "drilldown" : "Kian-Meng Ang" + }, + { + "y" : 2, + "drilldown" : "Lars Balker", + "name" : "Lars Balker" + }, + { + "drilldown" : "Laurent Rosenfeld", + "name" : "Laurent Rosenfeld", + "y" : 4 + }, + { + "name" : "Mark Senn", + "drilldown" : "Mark Senn", + "y" : 2 + }, + { + "y" : 4, + "drilldown" : "Nick Logan", + "name" : "Nick Logan" + }, + { + "y" : 2, + "drilldown" : "Chenyf", + "name" : "Chenyf" + }, + { + "y" : 2, + "name" : "Robert Gratza", + "drilldown" : "Robert Gratza" + }, + { + "drilldown" : "Ruben Westerberg", + "name" : "Ruben Westerberg", + "y" : 4 + }, + { + "drilldown" : "Sergio Iglesias", + "name" : "Sergio Iglesias", + "y" : 2 + }, + { + "y" : 2, + "name" : "Simon Proctor", + "drilldown" : "Simon Proctor" + }, + { + "y" : 1, + "name" : "Steve Rogerson", + "drilldown" : "Steve Rogerson" + } + ] } + ], + "tooltip" : { + "followPointer" : 1, + "pointerFormat" : "{point.name}: {point.y:f}
", + "headerFormat" : "{series.name}
" }, - "plotOptions" : { - "series" : { - "borderWidth" : 0, - "dataLabels" : { - "enabled" : 1, - "format" : "{point.y}" - } - } + "title" : { + "text" : "Perl Weekly Challenge - 003" }, "drilldown" : { "series" : [ { - "name" : "Adam Russell", "data" : [ [ "Perl 5", 2 ] ], + "name" : "Adam Russell", "id" : "Adam Russell" }, { - "name" : "Andrezgz", "id" : "Andrezgz", + "name" : "Andrezgz", "data" : [ [ "Perl 5", @@ -41,14 +161,14 @@ ] }, { + "id" : "Arne Sommer", "name" : "Arne Sommer", "data" : [ [ "Perl 6", 2 ] - ], - "id" : "Arne Sommer" + ] }, { "id" : "Athanasius", @@ -61,56 +181,71 @@ "name" : "Athanasius" }, { - "name" : "Clive Holloway", "data" : [ [ "Perl 5", 1 ] ], + "name" : "Clive Holloway", "id" : "Clive Holloway" }, { + "id" : "Daniel Mantovani", + "name" : "Daniel Mantovani", "data" : [ [ "Perl 5", 1 ] - ], - "id" : "Daniel Mantovani", - "name" : "Daniel Mantovani" + ] }, { - "id" : "Duncan C. White", + "name" : "Duncan C. White", "data" : [ [ "Perl 5", 2 ] ], - "name" : "Duncan C. White" + "id" : "Duncan C. White" }, { - "name" : "Francis Whittle", + "id" : "Francis Whittle", "data" : [ [ "Perl 6", 2 ] ], - "id" : "Francis Whittle" + "name" : "Francis Whittle" }, { - "name" : "Gustavo Chaves", "data" : [ [ "Perl 5", 1 ] ], + "name" : "Gustavo Chaves", "id" : "Gustavo Chaves" }, { + "id" : "Jaldhar H. Vyas", + "name" : "Jaldhar H. Vyas", + "data" : [ + [ + "Perl 5", + 2 + ], + [ + "Perl 6", + 2 + ] + ] + }, + { + "name" : "Dr James A. Smith", "data" : [ [ "Perl 5", @@ -121,12 +256,9 @@ 2 ] ], - "id" : "Dr James A. Smith", - "name" : "Dr James A. Smith" + "id" : "Dr James A. Smith" }, { - "name" : "Joelle Maslak", - "id" : "Joelle Maslak", "data" : [ [ "Perl 5", @@ -136,17 +268,19 @@ "Perl 6", 2 ] - ] + ], + "name" : "Joelle Maslak", + "id" : "Joelle Maslak" }, { - "name" : "Khalid", "id" : "Khalid", "data" : [ [ "Perl 5", 2 ] - ] + ], + "name" : "Khalid" }, { "data" : [ @@ -155,21 +289,21 @@ 2 ] ], - "id" : "Kian-Meng Ang", - "name" : "Kian-Meng Ang" + "name" : "Kian-Meng Ang", + "id" : "Kian-Meng Ang" }, { - "id" : "Lars Balker", + "name" : "Lars Balker", "data" : [ [ "Perl 5", 2 ] ], - "name" : "Lars Balker" + "id" : "Lars Balker" }, { - "id" : "Laurent Rosenfeld", + "name" : "Laurent Rosenfeld", "data" : [ [ "Perl 5", @@ -180,21 +314,19 @@ 2 ] ], - "name" : "Laurent Rosenfeld" + "id" : "Laurent Rosenfeld" }, { + "id" : "Mark Senn", "data" : [ [ "Perl 6", 2 ] ], - "id" : "Mark Senn", "name" : "Mark Senn" }, { - "name" : "Nick Logan", - "id" : "Nick Logan", "data" : [ [ "Perl 5", @@ -204,30 +336,32 @@ "Perl 6", 2 ] - ] + ], + "name" : "Nick Logan", + "id" : "Nick Logan" }, { + "id" : "Chenyf", + "name" : "Chenyf", "data" : [ [ "Perl 6", 2 ] - ], - "id" : "Chenyf", - "name" : "Chenyf" + ] }, { "name" : "Robert Gratza", - "id" : "Robert Gratza", "data" : [ [ "Perl 6", 2 ] - ] + ], + "id" : "Robert Gratza" }, { - "id" : "Ruben Westerberg", + "name" : "Ruben Westerberg", "data" : [ [ "Perl 5", @@ -238,176 +372,61 @@ 2 ] ], - "name" : "Ruben Westerberg" + "id" : "Ruben Westerberg" }, { + "id" : "Sergio Iglesias", + "name" : "Sergio Iglesias", "data" : [ [ "Perl 5", 2 ] - ], - "id" : "Sergio Iglesias", - "name" : "Sergio Iglesias" + ] }, { - "name" : "Simon Proctor", "data" : [ [ "Perl 6", 2 ] ], + "name" : "Simon Proctor", "id" : "Simon Proctor" }, { + "id" : "Steve Rogerson", + "name" : "Steve Rogerson", "data" : [ [ "Perl 5", 1 ] - ], - "id" : "Steve Rogerson", - "name" : "Steve Rogerson" + ] } ] }, - "series" : [ - { - "data" : [ - { - "drilldown" : "Adam Russell", - "name" : "Adam Russell", - "y" : 2 - }, - { - "name" : "Andrezgz", - "drilldown" : "Andrezgz", - "y" : 2 - }, - { - "name" : "Arne Sommer", - "drilldown" : "Arne Sommer", - "y" : 2 - }, - { - "y" : 2, - "drilldown" : "Athanasius", - "name" : "Athanasius" - }, - { - "y" : 1, - "drilldown" : "Clive Holloway", - "name" : "Clive Holloway" - }, - { - "name" : "Daniel Mantovani", - "drilldown" : "Daniel Mantovani", - "y" : 1 - }, - { - "drilldown" : "Duncan C. White", - "name" : "Duncan C. White", - "y" : 2 - }, - { - "name" : "Francis Whittle", - "drilldown" : "Francis Whittle", - "y" : 2 - }, - { - "name" : "Gustavo Chaves", - "drilldown" : "Gustavo Chaves", - "y" : 1 - }, - { - "y" : 4, - "name" : "Dr James A. Smith", - "drilldown" : "Dr James A. Smith" - }, - { - "y" : 4, - "drilldown" : "Joelle Maslak", - "name" : "Joelle Maslak" - }, - { - "y" : 2, - "drilldown" : "Khalid", - "name" : "Khalid" - }, - { - "drilldown" : "Kian-Meng Ang", - "name" : "Kian-Meng Ang", - "y" : 2 - }, - { - "y" : 2, - "name" : "Lars Balker", - "drilldown" : "Lars Balker" - }, - { - "drilldown" : "Laurent Rosenfeld", - "name" : "Laurent Rosenfeld", - "y" : 4 - }, - { - "drilldown" : "Mark Senn", - "name" : "Mark Senn", - "y" : 2 - }, - { - "y" : 4, - "name" : "Nick Logan", - "drilldown" : "Nick Logan" - }, - { - "name" : "Chenyf", - "drilldown" : "Chenyf", - "y" : 2 - }, - { - "y" : 2, - "name" : "Robert Gratza", - "drilldown" : "Robert Gratza" - }, - { - "name" : "Ruben Westerberg", - "drilldown" : "Ruben Westerberg", - "y" : 4 - }, - { - "y" : 2, - "name" : "Sergio Iglesias", - "drilldown" : "Sergio Iglesias" - }, - { - "y" : 2, - "name" : "Simon Proctor", - "drilldown" : "Simon Proctor" - }, - { - "y" : 1, - "drilldown" : "Steve Rogerson", - "name" : "Steve Rogerson" - } - ], - "name" : "Champions", - "colorByPoint" : 1 - } - ], - "chart" : { - "type" : "column" - }, "legend" : { "enabled" : 0 }, - "title" : { - "text" : "Perl Weekly Challenge - 003" + "yAxis" : { + "title" : { + "text" : "Total Solutions" + } }, - "subtitle" : { - "text" : "[Champions: 23] Last updated at 2019-04-15 00:04:21 GMT" + "plotOptions" : { + "series" : { + "borderWidth" : 0, + "dataLabels" : { + "format" : "{point.y}", + "enabled" : 1 + } + } }, - "xAxis" : { - "type" : "category" + "chart" : { + "type" : "column" + }, + "subtitle" : { + "text" : "[Champions: 24] Last updated at 2019-04-15 08:12:13 GMT" } } diff --git a/stats/pwc-master-stats.json b/stats/pwc-master-stats.json index 0b32b869d2..2870449522 100644 --- a/stats/pwc-master-stats.json +++ b/stats/pwc-master-stats.json @@ -37,7 +37,7 @@ 3, 0, 2, - 4, + 6, 6, 2, 2, @@ -113,7 +113,7 @@ 0, 0, 0, - 4, + 6, 6, 0, 1, diff --git a/stats/pwc-summary-1-30.json b/stats/pwc-summary-1-30.json index dff8a48a1f..4d32932171 100644 --- a/stats/pwc-summary-1-30.json +++ b/stats/pwc-summary-1-30.json @@ -1,9 +1,4 @@ { - "plotOptions" : { - "column" : { - "stacking" : "percent" - } - }, "series" : [ { "data" : [ @@ -36,12 +31,11 @@ 3, 0, 2, - 4 + 6 ], "name" : "Perl 5" }, { - "name" : "Perl 6", "data" : [ 0, 0, @@ -72,18 +66,34 @@ 0, 0, 0, - 4 - ] + 6 + ], + "name" : "Perl 6" } ], + "plotOptions" : { + "column" : { + "stacking" : "percent" + } + }, + "subtitle" : { + "text" : "[Champions: 30] Last updated at 2019-04-15 08:20:01 GMT" + }, + "title" : { + "text" : "Perl Weekly Challenge - 2019" + }, "yAxis" : { - "min" : 0, "title" : { "text" : "" - } + }, + "min" : 0 }, - "subtitle" : { - "text" : "[Champions: 30] Last updated at 2019-04-15 00:00:46 GMT" + "tooltip" : { + "pointFormat" : "{series.name}: {point.y}
", + "shared" : 1 + }, + "chart" : { + "type" : "column" }, "xAxis" : { "categories" : [ @@ -118,15 +128,5 @@ "Jaime Corchado", "Jaldhar H. Vyas" ] - }, - "tooltip" : { - "shared" : 1, - "pointFormat" : "{series.name}: {point.y}
" - }, - "chart" : { - "type" : "column" - }, - "title" : { - "text" : "Perl Weekly Challenge - 2019" } } diff --git a/stats/pwc-summary-31-60.json b/stats/pwc-summary-31-60.json index 90330493ee..34a1576cdf 100644 --- a/stats/pwc-summary-31-60.json +++ b/stats/pwc-summary-31-60.json @@ -1,57 +1,4 @@ { - "tooltip" : { - "pointFormat" : "{series.name}: {point.y}
", - "shared" : 1 - }, - "chart" : { - "type" : "column" - }, - "xAxis" : { - "categories" : [ - "Dr James A. Smith", - "Jeff", - "Jeremy Carman", - "Jim Bacon", - "JJ Merelo", - "Jo Christian Oterhals", - "Joelle Maslak", - "John Barrett", - "Juan Caballero", - "Khalid", - "Kian-Meng Ang", - "Kivanc Yazan", - "Lars Balker", - "Laurent Rosenfeld", - "Magnus Woldrich", - "Mark Senn", - "Martin Mugeni", - "Matt Latusek", - "Maxim Kolodyazhny", - "Michael Schaap", - "Neil Bowers", - "Nick Logan", - "Chenyf", - "Oleskii Tsvitenov", - "Ozzy", - "Pavel Jurca", - "Pete Houston", - "Philippe Bruhat", - "Prajith P", - "Robert Gratza" - ] - }, - "title" : { - "text" : "Perl Weekly Challenge - 2019" - }, - "yAxis" : { - "min" : 0, - "title" : { - "text" : "" - } - }, - "subtitle" : { - "text" : "[Champions: 30] Last updated at 2019-04-15 00:00:46 GMT" - }, "plotOptions" : { "column" : { "stacking" : "percent" @@ -59,6 +6,7 @@ }, "series" : [ { + "name" : "Perl 5", "data" : [ 6, 2, @@ -71,7 +19,7 @@ 2, 4, 6, - 3, + 2, 6, 6, 1, @@ -90,8 +38,7 @@ 4, 2, 2 - ], - "name" : "Perl 5" + ] }, { "name" : "Perl 6", @@ -128,5 +75,58 @@ 2 ] } - ] + ], + "title" : { + "text" : "Perl Weekly Challenge - 2019" + }, + "subtitle" : { + "text" : "[Champions: 30] Last updated at 2019-04-15 08:20:01 GMT" + }, + "yAxis" : { + "title" : { + "text" : "" + }, + "min" : 0 + }, + "chart" : { + "type" : "column" + }, + "tooltip" : { + "shared" : 1, + "pointFormat" : "{series.name}: {point.y}
" + }, + "xAxis" : { + "categories" : [ + "Dr James A. Smith", + "Jeff", + "Jeremy Carman", + "Jim Bacon", + "JJ Merelo", + "Jo Christian Oterhals", + "Joelle Maslak", + "John Barrett", + "Juan Caballero", + "Khalid", + "Kian-Meng Ang", + "Kivanc Yazan", + "Lars Balker", + "Laurent Rosenfeld", + "Magnus Woldrich", + "Mark Senn", + "Martin Mugeni", + "Matt Latusek", + "Maxim Kolodyazhny", + "Michael Schaap", + "Neil Bowers", + "Nick Logan", + "Chenyf", + "Oleskii Tsvitenov", + "Ozzy", + "Pavel Jurca", + "Pete Houston", + "Philippe Bruhat", + "Prajith P", + "Robert Gratza" + ] + } } diff --git a/stats/pwc-summary-61-90.json b/stats/pwc-summary-61-90.json index 049fda4632..58ca59ff6d 100644 --- a/stats/pwc-summary-61-90.json +++ b/stats/pwc-summary-61-90.json @@ -1,7 +1,4 @@ { - "title" : { - "text" : "Perl Weekly Challenge - 2019" - }, "tooltip" : { "pointFormat" : "{series.name}: {point.y}
", "shared" : 1 @@ -25,13 +22,9 @@ "William Gilmore" ] }, - "subtitle" : { - "text" : "[Champions: 12] Last updated at 2019-04-15 00:00:46 GMT" - }, - "yAxis" : { - "min" : 0, - "title" : { - "text" : "" + "plotOptions" : { + "column" : { + "stacking" : "percent" } }, "series" : [ @@ -70,9 +63,16 @@ ] } ], - "plotOptions" : { - "column" : { - "stacking" : "percent" + "title" : { + "text" : "Perl Weekly Challenge - 2019" + }, + "subtitle" : { + "text" : "[Champions: 12] Last updated at 2019-04-15 08:20:01 GMT" + }, + "yAxis" : { + "min" : 0, + "title" : { + "text" : "" } } } -- cgit