diff options
| author | Mohammad S Anwar <mohammad.anwar@yahoo.com> | 2020-07-20 19:32:47 +0100 |
|---|---|---|
| committer | Mohammad S Anwar <mohammad.anwar@yahoo.com> | 2020-07-20 19:32:47 +0100 |
| commit | d96c3b3776fbb99ff873a07312075e0d34ea77c1 (patch) | |
| tree | 2f85e979bbf74f4073aab5af604525f9cbacb700 | |
| parent | 58ac447afca0a3469b65da82b48e200058a9ce1a (diff) | |
| download | perlweeklychallenge-club-d96c3b3776fbb99ff873a07312075e0d34ea77c1.tar.gz perlweeklychallenge-club-d96c3b3776fbb99ff873a07312075e0d34ea77c1.tar.bz2 perlweeklychallenge-club-d96c3b3776fbb99ff873a07312075e0d34ea77c1.zip | |
- Added solutions by Ulrich Rieke.
| -rw-r--r-- | challenge-070/ulrich-rieke/cpp/ch-1.cpp | 29 | ||||
| -rw-r--r-- | challenge-070/ulrich-rieke/perl/ch-1.pl | 23 | ||||
| -rw-r--r-- | challenge-070/ulrich-rieke/raku/ch-1.raku | 16 | ||||
| -rw-r--r-- | challenge-070/ulrich-rieke/raku/ch-2.raku | 21 | ||||
| -rw-r--r-- | stats/pwc-current.json | 155 | ||||
| -rw-r--r-- | stats/pwc-language-breakdown-summary.json | 68 | ||||
| -rw-r--r-- | stats/pwc-language-breakdown.json | 494 | ||||
| -rw-r--r-- | stats/pwc-leaders.json | 702 | ||||
| -rw-r--r-- | stats/pwc-summary-1-30.json | 48 | ||||
| -rw-r--r-- | stats/pwc-summary-121-150.json | 44 | ||||
| -rw-r--r-- | stats/pwc-summary-151-180.json | 38 | ||||
| -rw-r--r-- | stats/pwc-summary-31-60.json | 112 | ||||
| -rw-r--r-- | stats/pwc-summary-61-90.json | 32 | ||||
| -rw-r--r-- | stats/pwc-summary-91-120.json | 104 | ||||
| -rw-r--r-- | stats/pwc-summary.json | 40 |
15 files changed, 1017 insertions, 909 deletions
diff --git a/challenge-070/ulrich-rieke/cpp/ch-1.cpp b/challenge-070/ulrich-rieke/cpp/ch-1.cpp new file mode 100644 index 0000000000..721956fde7 --- /dev/null +++ b/challenge-070/ulrich-rieke/cpp/ch-1.cpp @@ -0,0 +1,29 @@ +#include <string> +#include <iostream> +#include <cstdlib> + +void swapLetters( std::string & word, int firstPos, int secondPos ) { + std::string temp( word.substr( secondPos , 1 ) ) ; + int len = word.length( ) ; + if ( secondPos < len - 1 ) + word = word.substr( 0 , secondPos ) + word.substr( firstPos, 1 ) + + word.substr( secondPos + 1 ) ; + else + word = word.substr( 0 , secondPos ) + word.substr( firstPos, 1 ) ; + if ( firstPos > 0 ) + word = word.substr( 0 , firstPos ) + temp + word.substr( firstPos + + 1 ) ; + else + word = temp + word.substr( firstPos + 1 ) ; +} + +int main( int argc, char * argv[] ) { + std::string word( argv[ 1 ] ) ; + int c = std::atoi( argv[ 2 ] ) ; + int o = std::atoi( argv[ 3 ] ) ; + int n = word.length( ) ; + for ( int i = 1 ; i < c + 1 ; i++ ) + swapLetters( word , i % n , ( i + o ) % n ) ; + std::cout << word << std::endl ; + return 0 ; +} diff --git a/challenge-070/ulrich-rieke/perl/ch-1.pl b/challenge-070/ulrich-rieke/perl/ch-1.pl new file mode 100644 index 0000000000..d71f920269 --- /dev/null +++ b/challenge-070/ulrich-rieke/perl/ch-1.pl @@ -0,0 +1,23 @@ +#!/usr/bin/perl ; +use strict ; +use warnings ; +use feature 'say' ; + +sub swapLetters { + my $word = shift ; + my $firstPos = shift ; + my $secondPos = shift ; + my $temp = substr( $word , $secondPos , 1 ) ; + substr( $word , $secondPos , 1 ) = substr( $word, $firstPos , 1 ) ; + substr( $word , $firstPos , 1 ) = $temp ; + return $word ; +} + +my $word = $ARGV[0] ; +my $C = $ARGV[ 1 ] ; +my $O = $ARGV[ 2 ] ; +my $len = length $word ; +for my $i ( 1..$C ) { + $word = swapLetters( $word , $i % $len , ( $i + $O ) % $len ) ; +} +say $word ; diff --git a/challenge-070/ulrich-rieke/raku/ch-1.raku b/challenge-070/ulrich-rieke/raku/ch-1.raku new file mode 100644 index 0000000000..7d264bc09e --- /dev/null +++ b/challenge-070/ulrich-rieke/raku/ch-1.raku @@ -0,0 +1,16 @@ +use v6 ; + +sub swapLetters( Str $word is copy , Int $firstPos, Int $secondPos --> Str) { + my $temp = $word.substr( $secondPos , 1 ) ; + $word.substr-rw( $secondPos , 1 ) = $word.substr( $firstPos , 1 ) ; + $word.substr-rw( $firstPos , 1 ) = $temp ; + return $word ; +} + +sub MAIN( Str $word is copy, Int $C , Int $O ) { + my $len = $word.chars ; + for (1..$C) -> $i { + $word = swapLetters( $word , $i % $len , ( $i + $O ) % $len ) ; + } + $word.say ; +} diff --git a/challenge-070/ulrich-rieke/raku/ch-2.raku b/challenge-070/ulrich-rieke/raku/ch-2.raku new file mode 100644 index 0000000000..7e164dffa5 --- /dev/null +++ b/challenge-070/ulrich-rieke/raku/ch-2.raku @@ -0,0 +1,21 @@ +use v6 ; + +sub MAIN( Int $limit ) { + my $n = 1 ; + my @current = ( "0" , "1" ) ; + while ( $n < $limit ) { + for @current.reverse -> $element { + @current.push( $element ) ; + } + my $len = @current.elems ; + for (0.. $len div 2 - 1) -> $i { + @current[ $i ] = "0" ~ @current[ $i ] ; + } + for ( $len div 2 .. $len - 1 ) -> $i { + @current[ $i ] = "1" ~ @current[ $i ] ; + } + $n++ ; + } + my @numbers = @current.map( {.parse-base( 2 ) } ) ; + say @numbers ; +} diff --git a/stats/pwc-current.json b/stats/pwc-current.json index 215245d3e6..247941d336 100644 --- a/stats/pwc-current.json +++ b/stats/pwc-current.json @@ -1,66 +1,10 @@ { - "subtitle" : { - "text" : "[Champions: 5] Last updated at 2020-07-20 13:37:19 GMT" - }, - "yAxis" : { - "title" : { - "text" : "Total Solutions" - } - }, - "tooltip" : { - "followPointer" : 1, - "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/>" - }, - "legend" : { - "enabled" : 0 - }, - "series" : [ - { - "name" : "Perl Weekly Challenge - 070", - "data" : [ - { - "y" : 4, - "name" : "Andrew Shitov", - "drilldown" : "Andrew Shitov" - }, - { - "y" : 5, - "drilldown" : "Javier Luque", - "name" : "Javier Luque" - }, - { - "y" : 4, - "name" : "Mohammad S Anwar", - "drilldown" : "Mohammad S Anwar" - }, - { - "drilldown" : "Roger Bell_West", - "name" : "Roger Bell_West", - "y" : 4 - }, - { - "y" : 3, - "drilldown" : "Simon Green", - "name" : "Simon Green" - } - ], - "colorByPoint" : 1 - } - ], - "plotOptions" : { - "series" : { - "borderWidth" : 0, - "dataLabels" : { - "enabled" : 1, - "format" : "{point.y}" - } - } + "xAxis" : { + "type" : "category" }, "drilldown" : { "series" : [ { - "name" : "Andrew Shitov", "data" : [ [ "Raku", @@ -71,9 +15,12 @@ 2 ] ], - "id" : "Andrew Shitov" + "id" : "Andrew Shitov", + "name" : "Andrew Shitov" }, { + "id" : "Javier Luque", + "name" : "Javier Luque", "data" : [ [ "Perl", @@ -87,13 +34,11 @@ "Blog", 1 ] - ], - "name" : "Javier Luque", - "id" : "Javier Luque" + ] }, { - "id" : "Mohammad S Anwar", "name" : "Mohammad S Anwar", + "id" : "Mohammad S Anwar", "data" : [ [ "Perl", @@ -106,6 +51,7 @@ ] }, { + "name" : "Roger Bell_West", "id" : "Roger Bell_West", "data" : [ [ @@ -116,11 +62,9 @@ "Raku", 2 ] - ], - "name" : "Roger Bell_West" + ] }, { - "id" : "Simon Green", "data" : [ [ "Perl", @@ -131,16 +75,91 @@ 1 ] ], + "id" : "Simon Green", "name" : "Simon Green" + }, + { + "id" : "Ulrich Rieke", + "name" : "Ulrich Rieke", + "data" : [ + [ + "Perl", + 1 + ], + [ + "Raku", + 2 + ] + ] } ] }, - "xAxis" : { - "type" : "category" + "plotOptions" : { + "series" : { + "borderWidth" : 0, + "dataLabels" : { + "enabled" : 1, + "format" : "{point.y}" + } + } + }, + "tooltip" : { + "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/>", + "followPointer" : 1 + }, + "legend" : { + "enabled" : 0 + }, + "series" : [ + { + "data" : [ + { + "y" : 4, + "drilldown" : "Andrew Shitov", + "name" : "Andrew Shitov" + }, + { + "y" : 5, + "name" : "Javier Luque", + "drilldown" : "Javier Luque" + }, + { + "drilldown" : "Mohammad S Anwar", + "name" : "Mohammad S Anwar", + "y" : 4 + }, + { + "y" : 4, + "drilldown" : "Roger Bell_West", + "name" : "Roger Bell_West" + }, + { + "y" : 3, + "drilldown" : "Simon Green", + "name" : "Simon Green" + }, + { + "y" : 3, + "name" : "Ulrich Rieke", + "drilldown" : "Ulrich Rieke" + } + ], + "colorByPoint" : 1, + "name" : "Perl Weekly Challenge - 070" + } + ], + "yAxis" : { + "title" : { + "text" : "Total Solutions" + } }, "title" : { "text" : "Perl Weekly Challenge - 070" }, + "subtitle" : { + "text" : "[Champions: 6] Last updated at 2020-07-20 18:32:24 GMT" + }, "chart" : { "type" : "column" } diff --git a/stats/pwc-language-breakdown-summary.json b/stats/pwc-language-breakdown-summary.json index 21e6219f9b..f8087c2972 100644 --- a/stats/pwc-language-breakdown-summary.json +++ b/stats/pwc-language-breakdown-summary.json @@ -1,24 +1,27 @@ { - "xAxis" : { - "labels" : { - "style" : { - "fontSize" : "13px", - "fontFamily" : "Verdana, sans-serif" - } - }, - "type" : "category" - }, "title" : { "text" : "Perl Weekly Challenge Contributions [2019 - 2020]" }, - "chart" : { - "type" : "column" - }, - "legend" : { - "enabled" : "false" + "yAxis" : { + "title" : { + "text" : null + }, + "min" : 0 }, "series" : [ { + "dataLabels" : { + "format" : "{point.y:.0f}", + "enabled" : "true", + "rotation" : -90, + "color" : "#FFFFFF", + "align" : "right", + "y" : 10, + "style" : { + "fontSize" : "13px", + "fontFamily" : "Verdana, sans-serif" + } + }, "name" : "Contributions", "data" : [ [ @@ -27,35 +30,32 @@ ], [ "Perl", - 2867 + 2868 ], [ "Raku", - 1840 + 1842 ] - ], - "dataLabels" : { - "style" : { - "fontFamily" : "Verdana, sans-serif", - "fontSize" : "13px" - }, - "y" : 10, - "enabled" : "true", - "color" : "#FFFFFF", - "align" : "right", - "format" : "{point.y:.0f}", - "rotation" : -90 - } + ] } ], + "chart" : { + "type" : "column" + }, "subtitle" : { - "text" : "Last updated at 2020-07-20 13:37:19 GMT" + "text" : "Last updated at 2020-07-20 18:32:24 GMT" }, - "yAxis" : { - "title" : { - "text" : null + "xAxis" : { + "labels" : { + "style" : { + "fontFamily" : "Verdana, sans-serif", + "fontSize" : "13px" + } }, - "min" : 0 + "type" : "category" + }, + "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 4a44c0ce5a..99be52ceab 100644 --- a/stats/pwc-language-breakdown.json +++ b/stats/pwc-language-breakdown.json @@ -1,12 +1,11 @@ { - "xAxis" : { - "type" : "category" - }, - "title" : { - "text" : "Perl Weekly Challenge Language" + "legend" : { + "enabled" : "false" }, - "chart" : { - "type" : "column" + "tooltip" : { + "headerFormat" : "<span style=\"font-size:11px\"></span>", + "pointFormat" : "<span style=\"color:{point.color}\">Challenge {point.name}</span>: <b>{point.y:f}</b><br/>", + "followPointer" : "true" }, "plotOptions" : { "series" : { @@ -20,8 +19,6 @@ "drilldown" : { "series" : [ { - "id" : "001", - "name" : "001", "data" : [ [ "Perl", @@ -35,9 +32,13 @@ "Blog", 11 ] - ] + ], + "name" : "001", + "id" : "001" }, { + "name" : "002", + "id" : "002", "data" : [ [ "Perl", @@ -51,9 +52,7 @@ "Blog", 10 ] - ], - "name" : "002", - "id" : "002" + ] }, { "data" : [ @@ -74,7 +73,6 @@ "id" : "003" }, { - "name" : "004", "data" : [ [ "Perl", @@ -89,10 +87,10 @@ 10 ] ], - "id" : "004" + "id" : "004", + "name" : "004" }, { - "name" : "005", "data" : [ [ "Perl", @@ -107,9 +105,11 @@ 12 ] ], + "name" : "005", "id" : "005" }, { + "name" : "006", "id" : "006", "data" : [ [ @@ -124,11 +124,9 @@ "Blog", 7 ] - ], - "name" : "006" + ] }, { - "id" : "007", "data" : [ [ "Perl", @@ -143,11 +141,12 @@ 10 ] ], + "id" : "007", "name" : "007" }, { - "id" : "008", "name" : "008", + "id" : "008", "data" : [ [ "Perl", @@ -164,7 +163,6 @@ ] }, { - "id" : "009", "data" : [ [ "Perl", @@ -179,11 +177,10 @@ 13 ] ], - "name" : "009" + "name" : "009", + "id" : "009" }, { - "id" : "010", - "name" : "010", "data" : [ [ "Perl", @@ -197,10 +194,13 @@ "Blog", 11 ] - ] + ], + "id" : "010", + "name" : "010" }, { "name" : "011", + "id" : "011", "data" : [ [ "Perl", @@ -214,10 +214,11 @@ "Blog", 10 ] - ], - "id" : "011" + ] }, { + "name" : "012", + "id" : "012", "data" : [ [ "Perl", @@ -231,13 +232,9 @@ "Blog", 11 ] - ], - "name" : "012", - "id" : "012" + ] }, { - "id" : "013", - "name" : "013", "data" : [ [ "Perl", @@ -251,11 +248,13 @@ "Blog", 13 ] - ] + ], + "name" : "013", + "id" : "013" }, { - "id" : "014", "name" : "014", + "id" : "014", "data" : [ [ "Perl", @@ -290,7 +289,6 @@ "id" : "015" }, { - "id" : "016", "data" : [ [ "Perl", @@ -305,9 +303,11 @@ 12 ] ], + "id" : "016", "name" : "016" }, { + "id" : "017", "name" : "017", "data" : [ [ @@ -322,12 +322,9 @@ "Blog", 12 ] - ], - "id" : "017" + ] }, { - "id" : "018", - "name" : "018", "data" : [ [ "Perl", @@ -341,10 +338,11 @@ "Blog", 14 ] - ] + ], + "id" : "018", + "name" : "018" }, { - "id" : "019", "data" : [ [ "Perl", @@ -359,10 +357,12 @@ 13 ] ], + "id" : "019", "name" : "019" }, { "id" : "020", + "name" : "020", "data" : [ [ "Perl", @@ -376,10 +376,10 @@ "Blog", 13 ] - ], - "name" : "020" + ] }, { + "name" : "021", "id" : "021", "data" : [ [ @@ -394,10 +394,10 @@ "Blog", 10 ] - ], - "name" : "021" + ] }, { + "name" : "022", "id" : "022", "data" : [ [ @@ -412,12 +412,11 @@ "Blog", 10 ] - ], - "name" : "022" + ] }, { - "id" : "023", "name" : "023", + "id" : "023", "data" : [ [ "Perl", @@ -434,8 +433,6 @@ ] }, { - "id" : "024", - "name" : "024", "data" : [ [ "Perl", @@ -449,10 +446,13 @@ "Blog", 11 ] - ] + ], + "id" : "024", + "name" : "024" }, { "name" : "025", + "id" : "025", "data" : [ [ "Perl", @@ -466,10 +466,10 @@ "Blog", 12 ] - ], - "id" : "025" + ] }, { + "id" : "026", "name" : "026", "data" : [ [ @@ -484,12 +484,9 @@ "Blog", 10 ] - ], - "id" : "026" + ] }, { - "id" : "027", - "name" : "027", "data" : [ [ "Perl", @@ -503,10 +500,13 @@ "Blog", 9 ] - ] + ], + "id" : "027", + "name" : "027" }, { "id" : "028", + "name" : "028", "data" : [ [ "Perl", @@ -520,8 +520,7 @@ "Blog", 9 ] - ], - "name" : "028" + ] }, { "data" : [ @@ -542,8 +541,6 @@ "id" : "029" }, { - "id" : "030", - "name" : "030", "data" : [ [ "Perl", @@ -557,10 +554,11 @@ "Blog", 10 ] - ] + ], + "id" : "030", + "name" : "030" }, { - "name" : "031", "data" : [ [ "Perl", @@ -575,9 +573,12 @@ 9 ] ], + "name" : "031", "id" : "031" }, { + "name" : "032", + "id" : "032", "data" : [ [ "Perl", @@ -591,11 +592,11 @@ "Blog", 10 ] - ], - "name" : "032", - "id" : "032" + ] }, { + "id" : "033", + "name" : "033", "data" : [ [ "Perl", @@ -609,12 +610,9 @@ "Blog", 10 ] - ], - "name" : "033", - "id" : "033" + ] }, { - "name" : "034", "data" : [ [ "Perl", @@ -629,9 +627,11 @@ 11 ] ], + "name" : "034", "id" : "034" }, { + "id" : "035", "name" : "035", "data" : [ [ @@ -646,10 +646,10 @@ "Blog", 9 ] - ], - "id" : "035" + ] }, { + "name" : "036", "id" : "036", "data" : [ [ @@ -664,8 +664,7 @@ "Blog", 11 ] - ], - "name" : "036" + ] }, { "data" : [ @@ -686,6 +685,8 @@ "id" : "037" }, { + "name" : "038", + "id" : "038", "data" : [ [ "Perl", @@ -699,12 +700,9 @@ "Blog", 12 ] - ], - "name" : "038", - "id" : "038" + ] }, { - "id" : "039", "data" : [ [ "Perl", @@ -719,11 +717,10 @@ 12 ] ], + "id" : "039", "name" : "039" }, { - "id" : "040", - "name" : "040", "data" : [ [ "Perl", @@ -737,10 +734,11 @@ "Blog", 10 ] - ] + ], + "id" : "040", + "name" : "040" }, { - "id" : "041", "data" : [ [ "Perl", @@ -755,6 +753,7 @@ 9 ] ], + "id" : "041", "name" : "041" }, { @@ -776,8 +775,6 @@ "id" : "042" }, { - "id" : "043", - "name" : "043", "data" : [ [ "Perl", @@ -791,11 +788,11 @@ "Blog", 11 ] - ] + ], + "id" : "043", + "name" : "043" }, { - "id" : "044", - "name" : "044", "data" : [ [ "Perl", @@ -809,7 +806,9 @@ "Blog", 11 ] - ] + ], + "id" : "044", + "name" : "044" }, { "id" : "045", @@ -848,7 +847,6 @@ "id" : "046" }, { - "name" : "047", "data" : [ [ "Perl", @@ -863,6 +861,7 @@ 10 ] ], + "name" : "047", "id" : "047" }, { @@ -885,6 +884,7 @@ }, { "name" : "049", + "id" : "049", "data" : [ [ "Perl", @@ -898,12 +898,11 @@ "Blog", 12 ] - ], - "id" : "049" + ] }, { - "id" : "050", "name" : "050", + "id" : "050", "data" : [ [ "Perl", @@ -920,7 +919,6 @@ ] }, { - "id" : "051", "data" : [ [ "Perl", @@ -935,10 +933,10 @@ 11 ] ], - "name" : "051" + "name" : "051", + "id" : "051" }, { - "id" : "052", "data" : [ [ "Perl", @@ -953,10 +951,12 @@ 14 ] ], + "id" : "052", "name" : "052" }, { "id" : "053", + "name" : "053", "data" : [ [ "Perl", @@ -970,12 +970,9 @@ "Blog", 15 ] - ], - "name" : "053" + ] }, { - "id" : "054", - "name" : "054", "data" : [ [ "Perl", @@ -989,11 +986,13 @@ "Blog", 18 ] - ] + ], + "name" : "054", + "id" : "054" }, { - "id" : "055", "name" : "055", + "id" : "055", "data" : [ [ "Perl", @@ -1010,7 +1009,6 @@ ] }, { - "name" : "056", "data" : [ [ "Perl", @@ -1025,10 +1023,12 @@ 16 ] ], - "id" : "056" + "id" : "056", + "name" : "056" }, { "id" : "057", + "name" : "057", "data" : [ [ "Perl", @@ -1042,11 +1042,9 @@ "Blog", 15 ] - ], |
