diff options
| author | Mohammad S Anwar <mohammad.anwar@yahoo.com> | 2021-12-01 20:07:02 +0000 |
|---|---|---|
| committer | Mohammad S Anwar <mohammad.anwar@yahoo.com> | 2021-12-01 20:07:02 +0000 |
| commit | 801c6566b16efa1e2c5b1f7daf54b532a222a53a (patch) | |
| tree | 55e7e9d7f0398ca10b9e36e75a0e242ebd42999c | |
| parent | 418cb1a5ca5436a2d16410d7752f9eaf96180fa3 (diff) | |
| download | perlweeklychallenge-club-801c6566b16efa1e2c5b1f7daf54b532a222a53a.tar.gz perlweeklychallenge-club-801c6566b16efa1e2c5b1f7daf54b532a222a53a.tar.bz2 perlweeklychallenge-club-801c6566b16efa1e2c5b1f7daf54b532a222a53a.zip | |
- Added solutions by Ulrich Rieke.
| -rw-r--r-- | challenge-141/ulrich-rieke/cpp/ch-1.cpp | 26 | ||||
| -rw-r--r-- | challenge-141/ulrich-rieke/haskell/ch-1.hs | 8 | ||||
| -rw-r--r-- | challenge-141/ulrich-rieke/haskell/ch-2.hs | 11 | ||||
| -rw-r--r-- | challenge-141/ulrich-rieke/perl/ch-1.pl | 20 | ||||
| -rw-r--r-- | challenge-141/ulrich-rieke/perl/ch-2.pl | 20 | ||||
| -rw-r--r-- | challenge-141/ulrich-rieke/raku/ch-1.raku | 16 | ||||
| -rw-r--r-- | challenge-141/ulrich-rieke/raku/ch-2.raku | 14 | ||||
| -rw-r--r-- | stats/pwc-current.json | 247 | ||||
| -rw-r--r-- | stats/pwc-language-breakdown-summary.json | 42 | ||||
| -rw-r--r-- | stats/pwc-language-breakdown.json | 1040 | ||||
| -rw-r--r-- | stats/pwc-leaders.json | 432 | ||||
| -rw-r--r-- | stats/pwc-summary-1-30.json | 112 | ||||
| -rw-r--r-- | stats/pwc-summary-121-150.json | 100 | ||||
| -rw-r--r-- | stats/pwc-summary-151-180.json | 50 | ||||
| -rw-r--r-- | stats/pwc-summary-181-210.json | 42 | ||||
| -rw-r--r-- | stats/pwc-summary-211-240.json | 40 | ||||
| -rw-r--r-- | stats/pwc-summary-241-270.json | 20 | ||||
| -rw-r--r-- | stats/pwc-summary-31-60.json | 56 | ||||
| -rw-r--r-- | stats/pwc-summary-61-90.json | 102 | ||||
| -rw-r--r-- | stats/pwc-summary-91-120.json | 28 | ||||
| -rw-r--r-- | stats/pwc-summary.json | 546 |
21 files changed, 1553 insertions, 1419 deletions
diff --git a/challenge-141/ulrich-rieke/cpp/ch-1.cpp b/challenge-141/ulrich-rieke/cpp/ch-1.cpp new file mode 100644 index 0000000000..49cf5eb7e0 --- /dev/null +++ b/challenge-141/ulrich-rieke/cpp/ch-1.cpp @@ -0,0 +1,26 @@ +#include <vector> +#include <iostream> + +std::vector<int> findDivisors( int n ) { + std::vector<int> divisors ; + for ( int i = 1 ; i < n + 1 ; i++ ) { + if ( n % i == 0 ) + divisors.push_back( i ) ; + } + return divisors ; +} + +int main( ) { + std::vector<int> wanted ; + int current = 1 ; + while ( wanted.size( ) < 10 ) { + std::vector<int> divisors ( findDivisors( current ) ) ; + if ( divisors.size( ) == 8 ) + wanted.push_back( current ) ; + current++ ; + } + for ( int n : wanted ) + std::cout << n << " " ; + std::cout << std::endl ; + return 0 ; +} diff --git a/challenge-141/ulrich-rieke/haskell/ch-1.hs b/challenge-141/ulrich-rieke/haskell/ch-1.hs new file mode 100644 index 0000000000..46e9417903 --- /dev/null +++ b/challenge-141/ulrich-rieke/haskell/ch-1.hs @@ -0,0 +1,8 @@ +module Challenge141 + where + +findDivisors :: Int -> [ Int ] +findDivisors n = filter (\i -> mod n i == 0 ) [1 .. n] + +solution :: [Int] +solution = take 10 $ filter ( ( == 8 ) . length . findDivisors ) [1 .. ] diff --git a/challenge-141/ulrich-rieke/haskell/ch-2.hs b/challenge-141/ulrich-rieke/haskell/ch-2.hs new file mode 100644 index 0000000000..f0e17dd10e --- /dev/null +++ b/challenge-141/ulrich-rieke/haskell/ch-2.hs @@ -0,0 +1,11 @@ +module Challenge141_2 + where +import Data.List ( subsequences ) +import Data.Char ( digitToInt ) + +solution :: Int -> Int -> Int +solution m n = length $ filter (\i -> mod i n == 0 ) $ map convertToNumber +$ filter ( not . null ) $ init $ subsequences $ map digitToInt $ show m +where + convertToNumber :: [Int] -> Int + convertToNumber list = read $ foldl1 (++) $ map show list diff --git a/challenge-141/ulrich-rieke/perl/ch-1.pl b/challenge-141/ulrich-rieke/perl/ch-1.pl new file mode 100644 index 0000000000..7dc2da371d --- /dev/null +++ b/challenge-141/ulrich-rieke/perl/ch-1.pl @@ -0,0 +1,20 @@ +#!/usr/bin/perl ; +use strict ; +use warnings ; +use feature 'say' ; + +sub findDivisors { + my $number = shift ; + return grep { $number % $_ == 0 } (1 .. $number) ; +} + +my @wanted ; +my $current = 1 ; +while ( scalar( @wanted ) < 10 ) { + my @divisors = findDivisors( $current ) ; + if ( scalar( @divisors ) == 8 ) { + push @wanted , $current ; + } + $current++ ; +} +say join( ', ' , @wanted ) ; diff --git a/challenge-141/ulrich-rieke/perl/ch-2.pl b/challenge-141/ulrich-rieke/perl/ch-2.pl new file mode 100644 index 0000000000..6f8a33be3e --- /dev/null +++ b/challenge-141/ulrich-rieke/perl/ch-2.pl @@ -0,0 +1,20 @@ +#!/usr/bin/perl ; +use strict ; +use warnings ; +use feature 'say' ; +use Algorithm::Combinatorics qw ( combinations ) ; + +my $m = $ARGV[ 0 ] ; +my $n = $ARGV[ 1 ] ; +my @numbers = split( // , $m ) ; +my @digits = @numbers ; +my $len = scalar( @numbers ) ; +if ( $len > 2 ) { + for my $l ( 2 .. $len - 1 ) { + my $iter = combinations( \@digits , $l ) ; + while ( my $c = $iter->next ) { + push @numbers , join( '' , @$c ) ; + } + } +} +say ( scalar ( grep { $_ % $n == 0 } @numbers )) ; diff --git a/challenge-141/ulrich-rieke/raku/ch-1.raku b/challenge-141/ulrich-rieke/raku/ch-1.raku new file mode 100644 index 0000000000..6836745341 --- /dev/null +++ b/challenge-141/ulrich-rieke/raku/ch-1.raku @@ -0,0 +1,16 @@ +use v6 ; + +sub findDivisors( Int $n ) { + return ( 1 .. $n).grep( { $n %% $_ } ) ; +} + +my @wanted ; +my Int $current = 1 ; +while ( @wanted.elems < 10 ) { + my @divisors = findDivisors( $current ) ; + if ( @divisors.elems == 8 ) { + @wanted.push( $current ) ; + } + $current++ ; +} +say @wanted ; diff --git a/challenge-141/ulrich-rieke/raku/ch-2.raku b/challenge-141/ulrich-rieke/raku/ch-2.raku new file mode 100644 index 0000000000..b3735420f8 --- /dev/null +++ b/challenge-141/ulrich-rieke/raku/ch-2.raku @@ -0,0 +1,14 @@ +use v6 ; + +sub MAIN( Int $m is copy , Int $n is copy ) { + my @numbers = (~$m).comb.map( {.Int} ) ; + my @digits = @numbers ; + my $len = @numbers.elems ; + if ( $len > 2 ) { + for ( 2 .. $len - 1 ) -> $l { + my @combis = @digits.combinations( $l ).map( {.join.Int} ) ; + @combis.map( { @numbers.push( $_ ) } ) ; + } + } + say @numbers.grep( { $_ %% $n } ).elems ; +} diff --git a/stats/pwc-current.json b/stats/pwc-current.json index 71ffe8b7d8..776957044a 100644 --- a/stats/pwc-current.json +++ b/stats/pwc-current.json @@ -1,4 +1,92 @@ { + "xAxis" : { + "type" : "category" + }, + "yAxis" : { + "title" : { + "text" : "Total Solutions" + } + }, + "plotOptions" : { + "series" : { + "dataLabels" : { + "enabled" : 1, + "format" : "{point.y}" + }, + "borderWidth" : 0 + } + }, + "subtitle" : { + "text" : "[Champions: 12] Last updated at 2021-12-01 20:05:46 GMT" + }, + "series" : [ + { + "colorByPoint" : 1, + "data" : [ + { + "name" : "Alexander Karelas", + "drilldown" : "Alexander Karelas", + "y" : 1 + }, + { + "drilldown" : "Dave Jacoby", + "name" : "Dave Jacoby", + "y" : 3 + }, + { + "name" : "E. Choroba", + "drilldown" : "E. Choroba", + "y" : 2 + }, + { + "y" : 6, + "name" : "Flavio Poletti", + "drilldown" : "Flavio Poletti" + }, + { + "drilldown" : "Luca Ferrari", + "name" : "Luca Ferrari", + "y" : 6 + }, + { + "y" : 2, + "drilldown" : "Mark Anderson", + "name" : "Mark Anderson" + }, + { + "y" : 2, + "name" : "Niels van Dijke", + "drilldown" : "Niels van Dijke" + }, + { + "y" : 2, + "drilldown" : "Paulo Custodio", + "name" : "Paulo Custodio" + }, + { + "drilldown" : "Roger Bell_West", + "name" : "Roger Bell_West", + "y" : 4 + }, + { + "drilldown" : "Simon Proctor", + "name" : "Simon Proctor", + "y" : 2 + }, + { + "name" : "Ulrich Rieke", + "drilldown" : "Ulrich Rieke", + "y" : 4 + }, + { + "y" : 3, + "drilldown" : "W. Luis Mochan", + "name" : "W. Luis Mochan" + } + ], + "name" : "The Weekly Challenge - 141" + } + ], "drilldown" : { "series" : [ { @@ -8,10 +96,12 @@ 1 ] ], - "id" : "Alexander Karelas", - "name" : "Alexander Karelas" + "name" : "Alexander Karelas", + "id" : "Alexander Karelas" }, { + "name" : "Dave Jacoby", + "id" : "Dave Jacoby", "data" : [ [ "Perl", @@ -21,23 +111,19 @@ "Blog", 1 ] - ], - "name" : "Dave Jacoby", - "id" : "Dave Jacoby" + ] }, { + "name" : "E. Choroba", + "id" : "E. Choroba", "data" : [ [ "Perl", 2 ] - ], - "id" : "E. Choroba", - "name" : "E. Choroba" + ] }, { - "name" : "Flavio Poletti", - "id" : "Flavio Poletti", "data" : [ [ "Perl", @@ -51,11 +137,11 @@ "Blog", 2 ] - ] + ], + "id" : "Flavio Poletti", + "name" : "Flavio Poletti" }, { - "id" : "Luca Ferrari", - "name" : "Luca Ferrari", "data" : [ [ "Raku", @@ -65,7 +151,9 @@ "Blog", 4 ] - ] + ], + "name" : "Luca Ferrari", + "id" : "Luca Ferrari" }, { "name" : "Mark Anderson", @@ -78,28 +166,26 @@ ] }, { - "name" : "Niels van Dijke", - "id" : "Niels van Dijke", "data" : [ [ "Perl", 2 ] - ] + ], + "id" : "Niels van Dijke", + "name" : "Niels van Dijke" }, { + "id" : "Paulo Custodio", + "name" : "Paulo Custodio", "data" : [ [ "Perl", 2 ] - ], - "id" : "Paulo Custodio", - "name" : "Paulo Custodio" + ] }, { - "name" : "Roger Bell_West", - "id" : "Roger Bell_West", "data" : [ [ "Perl", @@ -109,17 +195,33 @@ "Raku", 2 ] - ] + ], + "id" : "Roger Bell_West", + "name" : "Roger Bell_West" }, { - "name" : "Simon Proctor", + "data" : [ + [ + "Raku", + 2 + ] + ], "id" : "Simon Proctor", + "name" : "Simon Proctor" + }, + { "data" : [ [ + "Perl", + 2 + ], + [ "Raku", 2 ] - ] + ], + "name" : "Ulrich Rieke", + "id" : "Ulrich Rieke" }, { "data" : [ @@ -132,106 +234,23 @@ 1 ] ], - "name" : "W. Luis Mochan", - "id" : "W. Luis Mochan" + "id" : "W. Luis Mochan", + "name" : "W. Luis Mochan" } ] }, "tooltip" : { - "headerFormat" : "<span style='font-size:11px'>{series.name}</span><br/>", "followPointer" : 1, - "pointFormat" : "<span style='color:{point.color}'>{point.name}</span>: <b>{point.y:f}</b><br/>" + "pointFormat" : "<span style='color:{point.color}'>{point.name}</span>: <b>{point.y:f}</b><br/>", + "headerFormat" : "<span style='font-size:11px'>{series.name}</span><br/>" }, - "plotOptions" : { - "series" : { - "borderWidth" : 0, - "dataLabels" : { - "format" : "{point.y}", - "enabled" : 1 - } - } - }, - "series" : [ - { - "name" : "The Weekly Challenge - 141", - "colorByPoint" : 1, - "data" : [ - { - "drilldown" : "Alexander Karelas", - "y" : 1, - "name" : "Alexander Karelas" - }, - { - "drilldown" : "Dave Jacoby", - "y" : 3, - "name" : "Dave Jacoby" - }, - { - "drilldown" : "E. Choroba", - "y" : 2, - "name" : "E. Choroba" - }, - { - "drilldown" : "Flavio Poletti", - "y" : 6, - "name" : "Flavio Poletti" - }, - { - "name" : "Luca Ferrari", - "drilldown" : "Luca Ferrari", - "y" : 6 - }, - { - "drilldown" : "Mark Anderson", - "y" : 2, - "name" : "Mark Anderson" - }, - { - "name" : "Niels van Dijke", - "y" : 2, - "drilldown" : "Niels van Dijke" - }, - { - "name" : "Paulo Custodio", - "y" : 2, - "drilldown" : "Paulo Custodio" - }, - { - "y" : 4, - "drilldown" : "Roger Bell_West", - "name" : "Roger Bell_West" - }, - { - "name" : "Simon Proctor", - "drilldown" : "Simon Proctor", - "y" : 2 - }, - { - "name" : "W. Luis Mochan", - "drilldown" : "W. Luis Mochan", - "y" : 3 - } - ] - } - ], "title" : { "text" : "The Weekly Challenge - 141" }, - "chart" : { - "type" : "column" - }, - "yAxis" : { - "title" : { - "text" : "Total Solutions" - } - }, "legend" : { "enabled" : 0 }, - "subtitle" : { - "text" : "[Champions: 11] Last updated at 2021-12-01 19:40:45 GMT" - }, - "xAxis" : { - "type" : "category" + "chart" : { + "type" : "column" } } diff --git a/stats/pwc-language-breakdown-summary.json b/stats/pwc-language-breakdown-summary.json index 0a2d71d795..ddde7f0040 100644 --- a/stats/pwc-language-breakdown-summary.json +++ b/stats/pwc-language-breakdown-summary.json @@ -2,29 +2,38 @@ "title" : { "text" : "The Weekly Challenge Contributions [2019 - 2021]" }, + "legend" : { + "enabled" : "false" + }, "chart" : { "type" : "column" }, "yAxis" : { - "min" : 0, "title" : { "text" : null - } + }, + "min" : 0 }, - "tooltip" : { - "pointFormat" : "<b>{point.y:.0f}</b>" + "xAxis" : { + "type" : "category", + "labels" : { + "style" : { + "fontFamily" : "Verdana, sans-serif", + "fontSize" : "13px" + } + } }, "series" : [ { "dataLabels" : { "rotation" : -90, - "format" : "{point.y:.0f}", "color" : "#FFFFFF", "style" : { - "fontFamily" : "Verdana, sans-serif", - "fontSize" : "13px" + "fontSize" : "13px", + "fontFamily" : "Verdana, sans-serif" }, "enabled" : "true", + "format" : "{point.y:.0f}", "y" : 10, "align" : "right" }, @@ -36,28 +45,19 @@ ], [ "Perl", - 6769 + 6771 ], [ "Raku", - 4109 + 4111 ] ] } ], - "xAxis" : { - "labels" : { - "style" : { - "fontSize" : "13px", - "fontFamily" : "Verdana, sans-serif" - } - }, - "type" : "category" - }, "subtitle" : { - "text" : "Last updated at 2021-12-01 19:40:45 GMT" + "text" : "Last updated at 2021-12-01 20:05:46 GMT" }, - "legend" : { - "enabled" : "false" + "tooltip" : { + "pointFormat" : "<b>{point.y:.0f}</b>" } } diff --git a/stats/pwc-language-breakdown.json b/stats/pwc-language-breakdown.json index 58c4f3c21f..20bc335346 100644 --- a/stats/pwc-language-breakdown.json +++ b/stats/pwc-language-breakdown.json @@ -1,157 +1,155 @@ { - "legend" : { - "enabled" : "false" + "yAxis" : { + "title" : { + "text" : "Total Solutions" + } }, "xAxis" : { "type" : "category" }, - "subtitle" : { - "text" : "Click the columns to drilldown the language breakdown. Last updated at 2021-12-01 19:40:45 GMT" - }, "series" : [ { "colorByPoint" : "true", - "name" : "The Weekly Challenge Languages", "data" : [ { - "name" : "#001", "y" : 161, + "name" : "#001", "drilldown" : "001" }, { - "name" : "#002", "y" : 125, - "drilldown" : "002" + "drilldown" : "002", + "name" : "#002" }, { - "name" : "#003", "drilldown" : "003", + "name" : "#003", "y" : 83 }, { - "drilldown" : "004", "y" : 99, + "drilldown" : "004", "name" : "#004" }, { + "y" : 78, "name" : "#005", - "drilldown" : "005", - "y" : 78 + "drilldown" : "005" }, { - "y" : 58, "drilldown" : "006", - "name" : "#006" + "name" : "#006", + "y" : 58 }, { - "name" : "#007", "y" : 64, - "drilldown" : "007" + "drilldown" : "007", + "name" : "#007" }, { - "name" : "#008", "drilldown" : "008", + "name" : "#008", "y" : 78 }, { - "name" : "#009", + "y" : 76, "drilldown" : "009", - "y" : 76 + "name" : "#009" }, { "drilldown" : "010", - "y" : 65, - "name" : "#010" + "name" : "#010", + "y" : 65 }, { + "drilldown" : "011", "name" : "#011", - "y" : 85, - "drilldown" : "011" + "y" : 85 }, { + "drilldown" : "012", "name" : "#012", - "y" : 89, - "drilldown" : "012" + "y" : 89 }, { + "drilldown" : "013", "name" : "#013", - "y" : 85, - "drilldown" : "013" + "y" : 85 }, { - "name" : "#014", "y" : 101, - "drilldown" : "014" + "drilldown" : "014", + "name" : "#014" }, { + "name" : "#015", "drilldown" : "015", - "y" : 99, - "name" : "#015" + "y" : 99 }, { + "drilldown" : "016", "name" : "#016", - "y" : 71, - "drilldown" : "016" + "y" : 71 }, { + "name" : "#017", "drilldown" : "017", - "y" : 84, - "name" : "#017" + "y" : 84 }, { - "drilldown" : "018", "y" : 81, + "drilldown" : "018", "name" : "#018" }, { - "y" : 103, "drilldown" : "019", - "name" : "#019" + "name" : "#019", + "y" : 103 }, { "name" : "#020", - "y" : 101, - "drilldown" : "020" + "drilldown" : "020", + "y" : 101 }, { - "name" : "#021", "y" : 72, + "name" : "#021", "drilldown" : "021" }, { "y" : 68, - "drilldown" : "022", - "name" : "#022" + "name" : "#022", + "drilldown" : "022" }, { - "name" : "#023", "y" : 97, - "drilldown" : "023" + "drilldown" : "023", + "name" : "#023" }, { - "drilldown" : "024", "y" : 75, - "name" : "#024" + "name" : "#024", + "drilldown" : "024" }, { - "name" : "#025", + "y" : 59, "drilldown" : "025", - "y" : 59 + "name" : "#025" }, { "y" : 74, - "drilldown" : "026", - "name" : "#026" + "name" : "#026", + "drilldown" : "026" }, { - "y" : 60, "drilldown" : "027", - "name" : "#027" + "name" : "#027", + "y" : 60 }, { "y" : 80, - "drilldown" : "028", - "name" : "#028" + "name" : "#028", + "drilldown" : "028" }, { "y" : 79, @@ -164,29 +162,29 @@ "name" : "#030" }, { - "name" : "#031", "y" : 89, - "drilldown" : "031" + "drilldown" : "031", + "name" : "#031" }, { "drilldown" : "032", - "y" : 94, - "name" : "#032" + "name" : "#032", + "y" : 94 }, { + "name" : "#033", "drilldown" : "033", - "y" : 110, - "name" : "#033" + "y" : 110 }, { + "y" : 64, "name" : "#034", - "drilldown" : "034", - "y" : 64 + "drilldown" : "034" }, { + "y" : 64, "name" : "#035", - "drilldown" : "035", - "y" : 64 + "drilldown" : "035" }, { "name" : "#036", @@ -194,34 +192,34 @@ "y" : 68 }, { - "y" : 67, + "name" : "#037", "drilldown" : "037", - "name" : "#037" + "y" : 67 }, { - "name" : "#038", "drilldown" : "038", + "name" : "#038", "y" : 68 }, { - "name" : "#039", "y" : 62, - "drilldown" : "039" + "drilldown" : "039", + "name" : "#039" }, { - "y" : 73, + "name" : "#040", "drilldown" : "040", - "name" : "#040" + "y" : 73 }, { - "name" : "#041", "y" : 76, + "name" : "#041", "drilldown" : "041" }, { "drilldown" : "042", - "y" : 92, - "name" : "#042" + "name" : "#042", + "y" : 92 }, { "name" : "#043", @@ -229,34 +227,34 @@ "y" : 68 }, { - "name" : "#044", "y" : 85, - "drilldown" : "044" + "drilldown" : "044", + "name" : "#044" }, { - "name" : "#045", + "y" : 96, "drilldown" : "045", - "y" : 96 + "name" : "#045" }, { + "name" : "#046", "drilldown" : "046", - "y" : 87, - "name" : "#046" + "y" : 87 }, { - "name" : "#047", + "y" : 84, "drilldown" : "047", - "y" : 84 + "name" : "#047" }, { "drilldown" : "048", - "y" : 108, - "name" : "#048" + "name" : "#048", + "y" : 108 }, { - "y" : 89, + "name" : "#049", "drilldown" : "049", - "name" : "#049" + "y" : 89 }, { "y" : 98, @@ -265,8 +263,8 @@ }, { "name" : "#051", - "y" : 89, - "drilldown" : "051" + "drilldown" : "051", + "y" : 89 }, { "name" : "#052", @@ -275,8 +273,8 @@ }, { "y" : 101, - "drilldown" : "053", - "name" : "#053" + "name" : "#053", + "drilldown" : "053" }, { "name" : "#054", @@ -284,109 +282,109 @@ "y" : 103 }, { - "drilldown" : "055", "y" : 88, - "name" : "#055" + "name" : "#055", + "drilldown" : "055" }, { - "y" : 95, + "name" : "#056", "drilldown" : "056", - "name" : "#056" + "y" : 95 }, { - "name" : "#057", "y" : 80, + "name" : "#057", "drilldown" : "057" }, { - "name" : "#058", "y" : 69, + "name" : "#058", "drilldown" : "058" }, { - "y" : 89, "drilldown" : "059", - "name" : "#059" + "name" : "#059", + "y" : 89 }, { - "drilldown" : "060", |
