diff options
| -rw-r--r-- | challenge-137/ulrich-rieke/cpp/ch-2.cpp | 40 | ||||
| -rw-r--r-- | challenge-137/ulrich-rieke/haskell/ch-1.hs | 25 | ||||
| -rw-r--r-- | challenge-137/ulrich-rieke/perl/ch-1.pl | 28 | ||||
| -rw-r--r-- | challenge-137/ulrich-rieke/perl/ch-2.pl | 34 | ||||
| -rw-r--r-- | challenge-137/ulrich-rieke/raku/ch-1.raku | 16 | ||||
| -rw-r--r-- | challenge-137/ulrich-rieke/raku/ch-2.raku | 29 | ||||
| -rw-r--r-- | stats/pwc-current.json | 187 | ||||
| -rw-r--r-- | stats/pwc-language-breakdown-summary.json | 64 | ||||
| -rw-r--r-- | stats/pwc-language-breakdown.json | 1012 | ||||
| -rw-r--r-- | stats/pwc-leaders.json | 762 | ||||
| -rw-r--r-- | stats/pwc-summary-1-30.json | 36 | ||||
| -rw-r--r-- | stats/pwc-summary-121-150.json | 26 | ||||
| -rw-r--r-- | stats/pwc-summary-151-180.json | 42 | ||||
| -rw-r--r-- | stats/pwc-summary-181-210.json | 44 | ||||
| -rw-r--r-- | stats/pwc-summary-211-240.json | 50 | ||||
| -rw-r--r-- | stats/pwc-summary-241-270.json | 38 | ||||
| -rw-r--r-- | stats/pwc-summary-31-60.json | 46 | ||||
| -rw-r--r-- | stats/pwc-summary-61-90.json | 126 | ||||
| -rw-r--r-- | stats/pwc-summary-91-120.json | 110 | ||||
| -rw-r--r-- | stats/pwc-summary.json | 528 |
20 files changed, 1717 insertions, 1526 deletions
diff --git a/challenge-137/ulrich-rieke/cpp/ch-2.cpp b/challenge-137/ulrich-rieke/cpp/ch-2.cpp new file mode 100644 index 0000000000..8b254c8dcb --- /dev/null +++ b/challenge-137/ulrich-rieke/cpp/ch-2.cpp @@ -0,0 +1,40 @@ +#include <iostream> +#include <string> +#include <cstdlib> +#include <algorithm> + +bool isPalindrome( int d ) { + std::string numberstring( std::to_string( d ) ) ; + std::string reversed { numberstring } ; + std::reverse( reversed.begin( ) , reversed.end( ) ) ; + return reversed == numberstring ; +} + +int main( int argc, char * argv[] ) { + int n = std::atoi( argv[ 1 ] ) ; + int output = 1 ; + while ( n < 10 || n > 1000 ) { + std::cout << "number should be between 10 and 1000!" << std::endl ; + std::cin >> n ; + } + int iterations = 0 ; + int number = n ; + while ( iterations < 500 ) { + std::string numberstring( std::to_string( n ) ) ; + std::reverse( numberstring.begin( ) , numberstring.end( ) ) ; + number += std::stoi( numberstring ) ; + if ( isPalindrome( number ) ) { + output = 0 ; + break ; + } + if ( number > 10000000 ) { + output = 1 ; + break ; + } + iterations++ ; + } + if ( iterations >= 500 ) + output = 1 ; + std::cout << output << std::endl ; + return 0 ; +} diff --git a/challenge-137/ulrich-rieke/haskell/ch-1.hs b/challenge-137/ulrich-rieke/haskell/ch-1.hs new file mode 100644 index 0000000000..3ff7450bf7 --- /dev/null +++ b/challenge-137/ulrich-rieke/haskell/ch-1.hs @@ -0,0 +1,25 @@ +module Challenge137 + where +import Data.Time.Calendar ( fromGregorian ) +import Data.Time.Calendar.WeekDate ( toWeekDate ) +import Data.List.Split ( chunksOf ) +import Data.List ( intercalate ) + +findSecond :: (Integer , Int , Int) -> Int +findSecond ( _ , b , _ ) = b + +findLastWeek :: Integer -> Int +findLastWeek year = findSecond $ toWeekDate $ fromGregorian year 12 31 + +toStrings :: [Integer] -> [String] +toStrings years = map (\li -> intercalate ", " li ) $ map (\l -> +map show l ) $ chunksOf 5 years + +solution :: [Integer] +solution = filter (\i -> (findLastWeek i) == 53 ) [1900..2100] + +main :: IO ( ) +main = do + longyears <- return solution + let stringlist = toStrings longyears + mapM_ putStrLn stringlist diff --git a/challenge-137/ulrich-rieke/perl/ch-1.pl b/challenge-137/ulrich-rieke/perl/ch-1.pl new file mode 100644 index 0000000000..c0ae85ee67 --- /dev/null +++ b/challenge-137/ulrich-rieke/perl/ch-1.pl @@ -0,0 +1,28 @@ +#!/usr/bin/perl ; +use strict ; +use warnings ; +use feature 'say' ; +use DateTime ; + +my @longYears ; +for my $year ( 1900..2100 ) { + my $dt = DateTime->new( + year => $year , + month => 12 , + day => 31 , + hour => 0 , + minute => 0 , + second => 0 , + nanosecond => 0 , + time_zone => 'America/Chicago') ; + if ( $dt->week_number == 53 ) { + push @longYears, $year ; + } +} +my $start = 0 ; +my $len = scalar @longYears ; +while ( $start +5 <= $len ) { + say join( ", " , @longYears[$start .. $start + 4]) . ", " ; + $start += 5 ; +} +say join(", " , @longYears[$start .. $len -1] ) ; diff --git a/challenge-137/ulrich-rieke/perl/ch-2.pl b/challenge-137/ulrich-rieke/perl/ch-2.pl new file mode 100644 index 0000000000..925d00960a --- /dev/null +++ b/challenge-137/ulrich-rieke/perl/ch-2.pl @@ -0,0 +1,34 @@ +#!/usr/bin/perl ; +use strict ; +use warnings ; +use feature 'say' ; + +sub isPalindrome { + my $num = shift ; + return $num eq (join ('', reverse split( // , $num ))) ; +} + +my $n = $ARGV[ 0 ] ; +while ( $n < 10 || $n > 1000 ) { + say "number should be between 5 and 1000!" ; + $n = <STDIN> ; + chomp $n ; +} +my $iterations = 0 ; +my $number = $n ; +my $output = 1 ; +while ( $iterations < 500 ) { + $number += (join ('' , reverse split( // , $number )) + 0 ) ; + if ( isPalindrome ( $number ) ) { + $output = 0 ; + last ; + } + if ( $number > 10000000 ) { + last ; + } + $iterations++ ; +} +if ( $iterations >= 500 ) { + $output = 1 ; +} +say $output ; diff --git a/challenge-137/ulrich-rieke/raku/ch-1.raku b/challenge-137/ulrich-rieke/raku/ch-1.raku new file mode 100644 index 0000000000..4b1b6ce169 --- /dev/null +++ b/challenge-137/ulrich-rieke/raku/ch-1.raku @@ -0,0 +1,16 @@ +use v6 ; + +my @longYears ; +for (1900 .. 2100) -> $year { + my $date = Date.new( "$year-12-31") ; + if ( $date.week-number == 53 ) { + @longYears.push( $year ) ; + } +} +my $start = 0 ; +my $len = @longYears.elems ; +while ( $start + 5 <= $len ) { + say @longYears[$start..$start + 4].join( ", ") ~ "," ; + $start += 5 ; +} +say @longYears[$start .. $len - 1].join( ", " ) ; diff --git a/challenge-137/ulrich-rieke/raku/ch-2.raku b/challenge-137/ulrich-rieke/raku/ch-2.raku new file mode 100644 index 0000000000..afdfd80221 --- /dev/null +++ b/challenge-137/ulrich-rieke/raku/ch-2.raku @@ -0,0 +1,29 @@ +use v6 ; + +sub isPalindrome( Int $m is copy ) { + return ~$m eq ~$m.flip ; +} + +subset Allowed of Int where 10 <= * <= 10000 ; +sub MAIN( Allowed $n is copy ) { + my $iternum = 0 ; + my $number = $n ; + my $output = 1 ; + while ( $iternum < 500 ) { + my $numberstring = ~$number ; + $number = $number + $numberstring.flip.Int ; + if ( isPalindrome( $number ) ) { + $output = 0 ; + last ; + } + if ( $number >= 10000000 ) { + $output = 1 ; + last ; + } + $iternum++ ; + } + if ( $iternum >= 500 ) { + $output = 1 ; + } + say $output ; +} diff --git a/stats/pwc-current.json b/stats/pwc-current.json index 9445ba9121..ecfc7671a1 100644 --- a/stats/pwc-current.json +++ b/stats/pwc-current.json @@ -1,137 +1,136 @@ { + "legend" : { + "enabled" : 0 + }, "series" : [ { "name" : "The Weekly Challenge - 137", - "colorByPoint" : 1, "data" : [ { - "y" : 1, "name" : "Andrew Shitov", - "drilldown" : "Andrew Shitov" + "drilldown" : "Andrew Shitov", + "y" : 1 }, { - "drilldown" : "Bob Lied", "name" : "Bob Lied", + "drilldown" : "Bob Lied", "y" : 2 }, { - "name" : "Flavio Poletti", + "y" : 6, "drilldown" : "Flavio Poletti", - "y" : 6 + "name" : "Flavio Poletti" }, { - "drilldown" : "James Smith", "name" : "James Smith", + "drilldown" : "James Smith", "y" : 3 }, { + "drilldown" : "Luca Ferrari", "y" : 6, - "name" : "Luca Ferrari", - "drilldown" : "Luca Ferrari" + "name" : "Luca Ferrari" }, { - "y" : 2, + "name" : "Mark Anderson", "drilldown" : "Mark Anderson", - "name" : "Mark Anderson" + "y" : 2 }, { - "drilldown" : "Matthew Neleigh", "name" : "Matthew Neleigh", - "y" : 2 + "y" : 2, + "drilldown" : "Matthew Neleigh" }, { - "y" : 2, "name" : "Niels van Dijke", - "drilldown" : "Niels van Dijke" + "drilldown" : "Niels van Dijke", + "y" : 2 }, { "y" : 2, - "name" : "Paulo Custodio", - "drilldown" : "Paulo Custodio" + "drilldown" : "Paulo Custodio", + "name" : "Paulo Custodio" }, { "name" : "Robert DiCicco", - "drilldown" : "Robert DiCicco", - "y" : 1 + "y" : 1, + "drilldown" : "Robert DiCicco" }, { "name" : "Roger Bell_West", - "drilldown" : "Roger Bell_West", - "y" : 4 + "y" : 4, + "drilldown" : "Roger Bell_West" }, { - "y" : 3, "name" : "Simon Green", - "drilldown" : "Simon Green" + "drilldown" : "Simon Green", + "y" : 3 }, { + "name" : "Steven Wilson", "y" : 2, - "drilldown" : "Steven Wilson", - "name" : "Steven Wilson" + "drilldown" : "Steven Wilson" + }, + { + "name" : "Ulrich Rieke", + "drilldown" : "Ulrich Rieke", + "y" : 4 }, { "name" : "W. Luis Mochan", - "drilldown" : "W. Luis Mochan", - "y" : 3 + "y" : 3, + "drilldown" : "W. Luis Mochan" } - ] + ], + "colorByPoint" : 1 } ], - "plotOptions" : { - "series" : { - "dataLabels" : { - "format" : "{point.y}", - "enabled" : 1 - }, - "borderWidth" : 0 - } + "chart" : { + "type" : "column" }, - "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/>" + "subtitle" : { + "text" : "[Champions: 15] Last updated at 2021-11-03 07:58:23 GMT" }, "xAxis" : { "type" : "category" }, - "title" : { - "text" : "The Weekly Challenge - 137" - }, - "chart" : { - "type" : "column" + "tooltip" : { + "followPointer" : 1, + "headerFormat" : "<span style='font-size:11px'>{series.name}</span><br/>", + "pointFormat" : "<span style='color:{point.color}'>{point.name}</span>: <b>{point.y:f}</b><br/>" }, - "yAxis" : { - "title" : { - "text" : "Total Solutions" + "plotOptions" : { + "series" : { + "dataLabels" : { + "enabled" : 1, + "format" : "{point.y}" + }, + "borderWidth" : 0 } }, - "legend" : { - "enabled" : 0 - }, "drilldown" : { "series" : [ { + "name" : "Andrew Shitov", "data" : [ [ "Raku", 1 ] ], - "name" : "Andrew Shitov", "id" : "Andrew Shitov" }, { + "id" : "Bob Lied", + "name" : "Bob Lied", "data" : [ [ "Perl", 2 ] - ], - "id" : "Bob Lied", - "name" : "Bob Lied" + ] }, { - "name" : "Flavio Poletti", "id" : "Flavio Poletti", "data" : [ [ @@ -146,9 +145,11 @@ "Blog", 2 ] - ] + ], + "name" : "Flavio Poletti" }, { + "name" : "James Smith", "data" : [ [ "Perl", @@ -159,12 +160,11 @@ 1 ] ], - "id" : "James Smith", - "name" : "James Smith" + "id" : "James Smith" }, { - "name" : "Luca Ferrari", "id" : "Luca Ferrari", + "name" : "Luca Ferrari", "data" : [ [ "Raku", @@ -178,17 +178,17 @@ }, { "id" : "Mark Anderson", - "name" : "Mark Anderson", "data" : [ [ "Raku", 2 ] - ] + ], + "name" : "Mark Anderson" }, { - "name" : "Matthew Neleigh", "id" : "Matthew Neleigh", + "name" : "Matthew Neleigh", "data" : [ [ "Perl", @@ -197,36 +197,38 @@ ] }, { + "id" : "Niels van Dijke", + "name" : "Niels van Dijke", "data" : [ [ "Perl", 2 ] - ], - "name" : "Niels van Dijke", - "id" : "Niels van Dijke" + ] }, { + "id" : "Paulo Custodio", + "name" : "Paulo Custodio", "data" : [ [ "Perl", 2 ] - ], - "id" : "Paulo Custodio", - "name" : "Paulo Custodio" + ] }, { - "id" : "Robert DiCicco", - "name" : "Robert DiCicco", "data" : [ [ "Perl", 1 ] - ] + ], + "name" : "Robert DiCicco", + "id" : "Robert DiCicco" }, { + "id" : "Roger Bell_West", + "name" : "Roger Bell_West", "data" : [ [ "Perl", @@ -236,11 +238,11 @@ "Raku", 2 ] - ], - "id" : "Roger Bell_West", - "name" : "Roger Bell_West" + ] }, { + "id" : "Simon Green", + "name" : "Simon Green", "data" : [ [ "Perl", @@ -250,23 +252,33 @@ "Blog", 1 ] - ], - "id" : "Simon Green", - "name" : "Simon Green" + ] }, { + "name" : "Steven Wilson", "data" : [ [ "Perl", 2 ] ], - "name" : "Steven Wilson", "id" : "Steven Wilson" }, { - "name" : "W. Luis Mochan", - "id" : "W. Luis Mochan", + "id" : "Ulrich Rieke", + "data" : [ + [ + "Perl", + 2 + ], + [ + "Raku", + 2 + ] + ], + "name" : "Ulrich Rieke" + }, + { "data" : [ [ "Perl", @@ -276,11 +288,18 @@ "Blog", 1 ] - ] + ], + "name" : "W. Luis Mochan", + "id" : "W. Luis Mochan" } ] }, - "subtitle" : { - "text" : "[Champions: 14] Last updated at 2021-11-03 07:44:57 GMT" + "title" : { + "text" : "The Weekly Challenge - 137" + }, + "yAxis" : { + "title" : { + "text" : "Total Solutions" + } } } diff --git a/stats/pwc-language-breakdown-summary.json b/stats/pwc-language-breakdown-summary.json index 1c96d83d93..1dd32a41c6 100644 --- a/stats/pwc-language-breakdown-summary.json +++ b/stats/pwc-language-breakdown-summary.json @@ -1,22 +1,40 @@ { + "title" : { + "text" : "The Weekly Challenge Contributions [2019 - 2021]" + }, + "yAxis" : { + "title" : { + "text" : null + }, + "min" : 0 + }, + "xAxis" : { + "type" : "category", + "labels" : { + "style" : { + "fontSize" : "13px", + "fontFamily" : "Verdana, sans-serif" + } + } + }, "tooltip" : { "pointFormat" : "<b>{point.y:.0f}</b>" }, "series" : [ { - "name" : "Contributions", "dataLabels" : { - "align" : "right", - "format" : "{point.y:.0f}", "style" : { - "fontFamily" : "Verdana, sans-serif", - "fontSize" : "13px" + "fontSize" : "13px", + "fontFamily" : "Verdana, sans-serif" }, - "y" : 10, - "color" : "#FFFFFF", + "rotation" : -90, "enabled" : "true", - "rotation" : -90 + "y" : 10, + "format" : "{point.y:.0f}", + "align" : "right", + "color" : "#FFFFFF" }, + "name" : "Contributions", "data" : [ [ "Blog", @@ -24,40 +42,22 @@ ], [ "Perl", - 6552 + 6554 ], [ "Raku", - 3977 + 3979 ] ] } ], - "yAxis" : { - "title" : { - "text" : null - }, - "min" : 0 - }, - "chart" : { - "type" : "column" - }, - "xAxis" : { - "labels" : { - "style" : { - "fontFamily" : "Verdana, sans-serif", - "fontSize" : "13px" - } - }, - "type" : "category" - }, - "title" : { - "text" : "The Weekly Challenge Contributions [2019 - 2021]" - }, "legend" : { "enabled" : "false" }, "subtitle" : { - "text" : "Last updated at 2021-11-03 07:44:57 GMT" + "text" : "Last updated at 2021-11-03 07:58:23 GMT" + }, + "chart" : { + "type" : "column" } } diff --git a/stats/pwc-language-breakdown.json b/stats/pwc-language-breakdown.json index 4e18ae29db..4f71afcc67 100644 --- a/stats/pwc-language-breakdown.json +++ b/stats/pwc-language-breakdown.json @@ -1,9 +1,15 @@ { + "xAxis" : { + "type" : "category" + }, + "tooltip" : { + "pointFormat" : "<span style=\"color:{point.color}\">Challenge {point.name}</span>: <b>{point.y:f}</b><br/>", + "followPointer" : "true", + "headerFormat" : "<span style=\"font-size:11px\"></span>" + }, "drilldown" : { "series" : [ { - "id" : "001", - "name" : "001", "data" : [ [ "Perl", @@ -17,10 +23,11 @@ "Blog", 11 ] - ] + ], + "name" : "001", + "id" : "001" }, { - "id" : "002", "name" : "002", "data" : [ [ @@ -35,7 +42,8 @@ "Blog", 10 ] - ] + ], + "id" : "002" }, { "data" : [ @@ -56,8 +64,6 @@ "id" : "003" }, { - "name" : "004", - "id" : "004", "data" : [ [ "Perl", @@ -71,7 +77,9 @@ "Blog", 10 ] - ] + ], + "name" : "004", + "id" : "004" }, { "data" : [ @@ -88,12 +96,11 @@ 12 ] ], - "id" : "005", - "name" : "005" + "name" : "005", + "id" : "005" }, { "id" : "006", - "name" : "006", "data" : [ [ "Perl", @@ -107,9 +114,11 @@ "Blog", 7 ] - ] + ], + "name" : "006" }, { + "id" : "007", "data" : [ [ "Perl", @@ -124,12 +133,10 @@ 10 ] ], - "id" : "007", "name" : "007" }, { "id" : "008", - "name" : "008", "data" : [ [ "Perl", @@ -143,9 +150,11 @@ "Blog", 12 ] - ] + ], + "name" : "008" }, { + "id" : "009", "data" : [ [ "Perl", @@ -160,10 +169,11 @@ 13 ] ], - "id" : "009", "name" : "009" }, { + "id" : "010", + "name" : "010", "data" : [ [ "Perl", @@ -177,13 +187,9 @@ "Blog", 11 ] - ], - "id" : "010", - "name" : "010" + ] }, { - "id" : "011", - "name" : "011", "data" : [ [ "Perl", @@ -197,9 +203,12 @@ "Blog", 10 ] - ] + ], + "name" : "011", + "id" : "011" }, { + "name" : "012", "data" : [ [ "Perl", @@ -214,10 +223,11 @@ 11 ] ], - "name" : "012", "id" : "012" }, { + "id" : "013", + "name" : "013", "data" : [ [ "Perl", @@ -231,11 +241,11 @@ "Blog", 13 ] - ], - "name" : "013", - "id" : "013" + ] }, { + "id" : "014", + "name" : "014", "data" : [ [ "Perl", @@ -249,11 +259,10 @@ "Blog", 15 ] - ], - "name" : "014", - "id" : "014" + ] }, { + "id" : "015", "data" : [ [ "Perl", @@ -268,11 +277,9 @@ 15 ] ], - "id" : "015", "name" : "015" }, { - "id" : "016", "name" : "016", "data" : [ [ @@ -287,9 +294,11 @@ "Blog", 12 ] - ] + ], + "id" : "016" }, { + "name" : "017", "data" : [ [ "Perl", @@ -304,12 +313,11 @@ 12 ] ], - "id" : "017", - "name" : "017" + "id" : "017" }, { - "name" : "018", "id" : "018", + "name" : "018", "data" : [ [ "Perl", @@ -326,6 +334,7 @@ ] }, { + "name" : "019", "data" : [ [ "Perl", @@ -340,10 +349,11 @@ 13 ] ], - "name" : "019", "id" : "019" }, { + "id" : "020", + "name" : "020", "data" : [ [ "Perl", @@ -357,12 +367,9 @@ "Blog", 13 ] - ], - "name" : "020", - "id" : "020" + ] }, { - "id" : "021", "name" : "021", "data" : [ [ @@ -377,11 +384,10 @@ "Blog", 10 ] - ] + ], + "id" : "021" }, { - "id" : "022", - "name" : "022", "data" : [ [ "Perl", @@ -395,11 +401,13 @@ "Blog", 10 ] - ] + ], + "name" : "022", + "id" : "022" }, { - "name" : "023", "id" : "023", + "name" : "023", "data" : [ [ "Perl", @@ -417,7 +425,6 @@ }, { "name" : "024", - "id" : "024", "data" : [ [ "Perl", @@ -431,7 +438,8 @@ "Blog", 11 ] - ] + ], + "id" : "024" }, { "data" : [ @@ -452,8 +460,6 @@ "id" : "025" }, { - "name" : "026", - "id" : "026", "data" : [ [ "Perl", @@ -467,10 +473,11 @@ "Blog", 10 ] - ] + ], + "name" : "026", + "id" : "026" }, { - "id" : "027", "name" : "027", "data" : [ [ @@ -485,9 +492,11 @@ "Blog", 9 ] - ] + ], + "id" : "027" }, { + "name" : "028", "data" : [ [ "Perl", @@ -502,11 +511,9 @@ 9 ] ], - "id" : "028", - "name" : "028" + "id" : "028" }, { - "id" : "029", "name" : "029", "data" : [ [ @@ -521,9 +528,11 @@ "Blog", 12 ] - ] + ], + "id" : "029" }, { + "id" : "030", "data" : [ [ "Perl", @@ -538,8 +547,7 @@ 10 ] ], - "name" : "030", - "id" : "030" + "name" : "030" }, { "id" : "031", @@ -560,8 +568,8 @@ ] }, { - "name" : "032", "id" : "032", + "name" : "032", "data" : [ [ "Perl", @@ -578,6 +586,8 @@ ] }, { + "id" : "033", + "name" : "033", "data" : [ |
