From efd1f80fd2548d7dc6569e0a15bef1484526e8db Mon Sep 17 00:00:00 2001 From: Mohammad S Anwar Date: Tue, 5 Oct 2021 18:56:30 +0100 Subject: - Added solutions by Ulrich Rieke. --- challenge-133/ulrich-rieke/cpp/ch-1.cpp | 13 + challenge-133/ulrich-rieke/cpp/ch-2.cpp | 71 +++ challenge-133/ulrich-rieke/haskell/ch-1.hs | 9 + challenge-133/ulrich-rieke/perl/ch-1.pl | 21 + challenge-133/ulrich-rieke/perl/ch-2.pl | 97 ++++ challenge-133/ulrich-rieke/raku/ch-1.raku | 9 + challenge-133/ulrich-rieke/raku/ch-2.raku | 53 ++ stats/pwc-current.json | 139 +++-- stats/pwc-language-breakdown-summary.json | 56 +- stats/pwc-language-breakdown.json | 882 ++++++++++++++--------------- stats/pwc-leaders.json | 358 ++++++------ stats/pwc-summary-1-30.json | 42 +- stats/pwc-summary-121-150.json | 46 +- stats/pwc-summary-151-180.json | 102 ++-- stats/pwc-summary-181-210.json | 28 +- stats/pwc-summary-211-240.json | 104 ++-- stats/pwc-summary-241-270.json | 48 +- stats/pwc-summary-31-60.json | 98 ++-- stats/pwc-summary-61-90.json | 104 ++-- stats/pwc-summary-91-120.json | 118 ++-- stats/pwc-summary.json | 524 ++++++++--------- 21 files changed, 1607 insertions(+), 1315 deletions(-) create mode 100644 challenge-133/ulrich-rieke/cpp/ch-1.cpp create mode 100644 challenge-133/ulrich-rieke/cpp/ch-2.cpp create mode 100644 challenge-133/ulrich-rieke/haskell/ch-1.hs create mode 100644 challenge-133/ulrich-rieke/perl/ch-1.pl create mode 100644 challenge-133/ulrich-rieke/perl/ch-2.pl create mode 100644 challenge-133/ulrich-rieke/raku/ch-1.raku create mode 100644 challenge-133/ulrich-rieke/raku/ch-2.raku diff --git a/challenge-133/ulrich-rieke/cpp/ch-1.cpp b/challenge-133/ulrich-rieke/cpp/ch-1.cpp new file mode 100644 index 0000000000..5251662f01 --- /dev/null +++ b/challenge-133/ulrich-rieke/cpp/ch-1.cpp @@ -0,0 +1,13 @@ +#include +#include + +int main( int argc, char * argv[] ) { + int n = std::atoi( argv[ 1 ] ) ; + int current = 0 ; + while ( current * current < n ) + current++ ; + if ( current * current == n ) + std::cout << current << std::endl ; + else + std::cout << --current << std::endl ; +} diff --git a/challenge-133/ulrich-rieke/cpp/ch-2.cpp b/challenge-133/ulrich-rieke/cpp/ch-2.cpp new file mode 100644 index 0000000000..2512ef8ee2 --- /dev/null +++ b/challenge-133/ulrich-rieke/cpp/ch-2.cpp @@ -0,0 +1,71 @@ +#include +#include +#include +#include +#include +#include + +bool isPrime( int n ) { + const int stop = std::sqrt( static_cast( n ) ) ; + for ( int i = 2 ; i <= stop ; i++ ) { + if ( n % i == 0 ) + return false ; + } + return true ; +} + +bool isComposite( int n ) { + return ( ( ! isPrime( n ) ) && ( n != 1 ) ) ; +} + +int findDigitSum( int n ) { + int digitsum = 0 ; + while ( n != 0 ) { + digitsum += ( n % 10 ) ; + n /= 10 ; + } + return digitsum ; +} + +std::vector primeFactorize( int n ) { + std::vector primeFactors ; + int current = 2 ; + while ( n != 1 ) { + if ( n % current == 0 ) { + n /= current ; + primeFactors.push_back( current ) ; + } + else { + do { + current++ ; + } while ( ! isPrime( current ) ) ; + } + } + return primeFactors ; +} + +bool isSmithNumber( int n ) { + int digitsum = findDigitSum( n ) ; + std::vector primeFactors = primeFactorize( n ) ; + std::map factorCount ; + for ( auto fac : primeFactors ) + factorCount[ fac ]++ ; + int factorSum = 0 ; + for ( auto & p : factorCount ) + factorSum += findDigitSum( p.first ) * p.second ; + return factorSum == digitsum ; +} + +int main( ) { + std::vector smithNumbers ; + int current = 0 ; + while ( smithNumbers.size( ) < 10 ) { + current++ ; + if ( ( isComposite( current ) ) && ( isSmithNumber( current ) ) ) + smithNumbers.push_back( current ) ; + } + std::copy( smithNumbers.begin( ) , smithNumbers.end( ) , + std::ostream_iterator( std::cout , " " )) ; + std::cout << std::endl ; + return 0 ; +} diff --git a/challenge-133/ulrich-rieke/haskell/ch-1.hs b/challenge-133/ulrich-rieke/haskell/ch-1.hs new file mode 100644 index 0000000000..9155f95552 --- /dev/null +++ b/challenge-133/ulrich-rieke/haskell/ch-1.hs @@ -0,0 +1,9 @@ +module Challenge133 + where + +solution :: Int -> Int +solution n = fst lastElement +where + lastElement :: ( Int , Int ) + lastElement = last $ takeWhile ( ( <= n ) . snd ) $ map (\i -> ( i , i ^ 2 ) ) + [0 .. n] diff --git a/challenge-133/ulrich-rieke/perl/ch-1.pl b/challenge-133/ulrich-rieke/perl/ch-1.pl new file mode 100644 index 0000000000..a0d802ce14 --- /dev/null +++ b/challenge-133/ulrich-rieke/perl/ch-1.pl @@ -0,0 +1,21 @@ +#!/usr/bin/perl ; +use strict ; +use warnings ; +use feature 'say' ; + +my $N = $ARGV[ 0 ] ; +while ( $N !~ /\A\d+\z/ ) { + say "Please enter a positive integer!" ; + $N = ; + chomp $N ; +} +my $current = 0 ; +while ( $current * $current < $N ) { + $current++ ; +} +if ( $current * $current == $N ) { + say $current ; +} +else { + say --$current ; +} diff --git a/challenge-133/ulrich-rieke/perl/ch-2.pl b/challenge-133/ulrich-rieke/perl/ch-2.pl new file mode 100644 index 0000000000..fafdf78650 --- /dev/null +++ b/challenge-133/ulrich-rieke/perl/ch-2.pl @@ -0,0 +1,97 @@ +#!/usr/bin/perl ; +use strict ; +use warnings ; +use feature 'say' ; + +sub findDivisors { + my $num = shift ; + my @divisors ; + for my $n ( 1 .. $num ) { + if ( ($num % $n ) == 0 ) { + push @divisors , $n ; + } + } + return @divisors ; +} + +sub isPrime { + my $num = shift ; + if ( $num == 1 ) { + return 0 ; + } + my @divisors = findDivisors( $num ) ; + if ( ($divisors[0] == 1) && ($divisors[1] == $num) ) { + return 1 ; + } + else { + return 0 ; + } +} + +sub isComposite { + my $number = shift ; + if ( (not ( isPrime( $number ) )) && ( $number != 1 ) ) { + return 1 ; + } + else { + return 0 ; + } +} + +sub prime_factorialize { + my $number = shift ; + my @primenumbers ; + my $current = 2 ; + while ( $number != 1 ) { + if ( ($number % $current) == 0 ) { + $number /= $current ; + push @primenumbers, $current ; + } + else { + do { + $current++ ; + } while ( not ( isPrime( $current ) ) ) ; + } + } + return @primenumbers ; +} + +sub toDigitSum { + my $number = shift ; + if ( $number < 10 ) { + return $number ; + } + else { + my $sum = 0 ; + map { $sum += $_ } split( // , $number ) ; + return $sum ; + } +} + +sub isSmithNumber { + my $num = shift ; + my $digitsum = toDigitSum( $num ) ; + my @primefactors = prime_factorialize( $num ) ; + my %factorCount ; + map { $factorCount{$_}++ } @primefactors ; + my $factorSum = 0 ; + for my $key ( keys %factorCount ) { + $factorSum += ( toDigitSum( $key ) * $factorCount{ $key } ) ; + } + if ( $factorSum == $digitsum ) { + return 1 ; + } + else { + return 0 ; + } +} + +my @smithNumbers ; +my $current = 0 ; +while ( scalar( @smithNumbers ) < 10 ) { + $current++ ; + if ( ( isComposite( $current )) && ( isSmithNumber( $current ) ) ) { + push @smithNumbers, $current ; + } +} +say join( ", " , @smithNumbers ) ; diff --git a/challenge-133/ulrich-rieke/raku/ch-1.raku b/challenge-133/ulrich-rieke/raku/ch-1.raku new file mode 100644 index 0000000000..883fff3551 --- /dev/null +++ b/challenge-133/ulrich-rieke/raku/ch-1.raku @@ -0,0 +1,9 @@ +use v6 ; + +sub MAIN( Int $N is copy ) { + my Int $current = 0 ; + repeat { + $current++ ; + } until ( $current * $current > $N ) ; + say --$current ; +} diff --git a/challenge-133/ulrich-rieke/raku/ch-2.raku b/challenge-133/ulrich-rieke/raku/ch-2.raku new file mode 100644 index 0000000000..3564eea2bc --- /dev/null +++ b/challenge-133/ulrich-rieke/raku/ch-2.raku @@ -0,0 +1,53 @@ +use v6 ; + +sub prime-factorize( Int $n is copy ) { + my @primeFactors = ( ) ; + my $current = 2 ; + while ( $n != 1 ) { + if ( $n %% $current ) { + $n div= $current ; + @primeFactors.push( $current ) ; + } + else { + repeat { + $current++ ; + } until ( $current.is-prime ) ; + } + } + return @primeFactors ; +} + +sub isComposite( Int $n is copy --> Bool ) { + return ( (not $n.is-prime) && ($n != 1 ) ) ; +} + +sub toDigitSum( Int $s is copy --> Int ) { + if ( $s < 10 ) { + return $s ; + } + else { + return [+] (~$s).comb.map( {.Int} ) ; + } +} + +sub isSmithNumber( Int $d is copy --> Bool) { + my $digitsum = toDigitSum( $d ) ; + my @primeFactors = prime-factorize( $d ) ; + my %factorCount ; + @primeFactors.map( { %factorCount{$_}++ } ) ; + my $factorSum ; + for %factorCount.kv -> $key , $value { + $factorSum += (toDigitSum( +$key ) * $value ) ; + } + return ($factorSum == $digitsum) ; +} + +my @smithNumbers = ( ) ; +my Int $current = 0 ; +while ( @smithNumbers.elems < 10 ) { + $current++ ; + if ( ( isComposite( $current ) ) && isSmithNumber( $current ) ) { + @smithNumbers.push( $current ) ; + } +} +say @smithNumbers.join( ", ") ; diff --git a/stats/pwc-current.json b/stats/pwc-current.json index 5f5b1919ad..aa94390362 100644 --- a/stats/pwc-current.json +++ b/stats/pwc-current.json @@ -1,56 +1,62 @@ { - "title" : { - "text" : "The Weekly Challenge - 133" + "yAxis" : { + "title" : { + "text" : "Total Solutions" + } + }, + "tooltip" : { + "followPointer" : 1, + "pointFormat" : "{point.name}: {point.y:f}
", + "headerFormat" : "{series.name}
" + }, + "chart" : { + "type" : "column" }, "plotOptions" : { "series" : { - "borderWidth" : 0, "dataLabels" : { - "format" : "{point.y}", - "enabled" : 1 - } + "enabled" : 1, + "format" : "{point.y}" + }, + "borderWidth" : 0 } }, - "legend" : { - "enabled" : 0 - }, - "chart" : { - "type" : "column" + "subtitle" : { + "text" : "[Champions: 10] Last updated at 2021-10-05 17:54:36 GMT" }, "series" : [ { "name" : "The Weekly Challenge - 133", - "colorByPoint" : 1, "data" : [ { - "name" : "Abigail", + "y" : 2, "drilldown" : "Abigail", - "y" : 2 + "name" : "Abigail" }, { "name" : "Andinus", - "y" : 2, - "drilldown" : "Andinus" + "drilldown" : "Andinus", + "y" : 2 }, { + "name" : "Ben Davies", "drilldown" : "Ben Davies", - "y" : 2, - "name" : "Ben Davies" + "y" : 2 }, { + "drilldown" : "Cheok-Yin Fung", "name" : "Cheok-Yin Fung", - "y" : 1, - "drilldown" : "Cheok-Yin Fung" + "y" : 1 }, { - "drilldown" : "James Raspass", "y" : 2, - "name" : "James Raspass" + "name" : "James Raspass", + "drilldown" : "James Raspass" }, { - "drilldown" : "James Smith", "y" : 2, - "name" : "James Smith" + "name" : "James Smith", + "drilldown" : "James Smith" }, { "y" : 2, @@ -58,31 +64,41 @@ "name" : "Mark Anderson" }, { - "drilldown" : "Peter Campbell Smith", "y" : 2, - "name" : "Peter Campbell Smith" + "name" : "Peter Campbell Smith", + "drilldown" : "Peter Campbell Smith" }, { + "name" : "Roger Bell_West", "drilldown" : "Roger Bell_West", + "y" : 4 + }, + { "y" : 4, - "name" : "Roger Bell_West" + "drilldown" : "Ulrich Rieke", + "name" : "Ulrich Rieke" } - ] + ], + "colorByPoint" : 1 } ], + "xAxis" : { + "type" : "category" + }, "drilldown" : { "series" : [ { - "id" : "Abigail", + "name" : "Abigail", "data" : [ [ "Perl", 2 ] ], - "name" : "Abigail" + "id" : "Abigail" }, { + "id" : "Andinus", "data" : [ [ "Raku", @@ -93,71 +109,83 @@ 1 ] ], - "id" : "Andinus", "name" : "Andinus" }, { + "id" : "Ben Davies", + "name" : "Ben Davies", "data" : [ [ "Raku", 2 ] - ], - "id" : "Ben Davies", - "name" : "Ben Davies" + ] }, { + "id" : "Cheok-Yin Fung", "name" : "Cheok-Yin Fung", "data" : [ [ "Perl", 1 ] - ], - "id" : "Cheok-Yin Fung" + ] }, { + "id" : "James Raspass", "name" : "James Raspass", "data" : [ [ "Raku", 2 ] - ], - "id" : "James Raspass" + ] }, { + "id" : "James Smith", "name" : "James Smith", "data" : [ [ "Perl", 2 ] - ], - "id" : "James Smith" + ] }, { - "name" : "Mark Anderson", "id" : "Mark Anderson", "data" : [ [ "Raku", 2 ] - ] + ], + "name" : "Mark Anderson" }, { - "id" : "Peter Campbell Smith", + "name" : "Peter Campbell Smith", "data" : [ [ "Perl", 2 ] ], - "name" : "Peter Campbell Smith" + "id" : "Peter Campbell Smith" + }, + { + "name" : "Roger Bell_West", + "data" : [ + [ + "Perl", + 2 + ], + [ + "Raku", + 2 + ] + ], + "id" : "Roger Bell_West" }, { - "id" : "Roger Bell_West", "data" : [ [ "Perl", @@ -168,24 +196,15 @@ 2 ] ], - "name" : "Roger Bell_West" + "name" : "Ulrich Rieke", + "id" : "Ulrich Rieke" } ] }, - "subtitle" : { - "text" : "[Champions: 9] Last updated at 2021-10-05 16:20:33 GMT" - }, - "yAxis" : { - "title" : { - "text" : "Total Solutions" - } - }, - "xAxis" : { - "type" : "category" + "title" : { + "text" : "The Weekly Challenge - 133" }, - "tooltip" : { - "pointFormat" : "{point.name}: {point.y:f}
", - "followPointer" : 1, - "headerFormat" : "{series.name}
" + "legend" : { + "enabled" : 0 } } diff --git a/stats/pwc-language-breakdown-summary.json b/stats/pwc-language-breakdown-summary.json index 5014760b93..67fb939d69 100644 --- a/stats/pwc-language-breakdown-summary.json +++ b/stats/pwc-language-breakdown-summary.json @@ -1,24 +1,6 @@ { - "xAxis" : { - "type" : "category", - "labels" : { - "style" : { - "fontFamily" : "Verdana, sans-serif", - "fontSize" : "13px" - } - } - }, - "tooltip" : { - "pointFormat" : "{point.y:.0f}" - }, "subtitle" : { - "text" : "Last updated at 2021-10-05 16:20:33 GMT" - }, - "yAxis" : { - "title" : { - "text" : null - }, - "min" : 0 + "text" : "Last updated at 2021-10-05 17:54:36 GMT" }, "series" : [ { @@ -29,24 +11,24 @@ ], [ "Perl", - 6309 + 6311 ], [ "Raku", - 3871 + 3873 ] ], "dataLabels" : { + "y" : 10, + "align" : "right", "rotation" : -90, + "format" : "{point.y:.0f}", "style" : { - "fontSize" : "13px", - "fontFamily" : "Verdana, sans-serif" + "fontFamily" : "Verdana, sans-serif", + "fontSize" : "13px" }, - "enabled" : "true", - "align" : "right", - "format" : "{point.y:.0f}", - "y" : 10, - "color" : "#FFFFFF" + "color" : "#FFFFFF", + "enabled" : "true" }, "name" : "Contributions" } @@ -54,9 +36,27 @@ "title" : { "text" : "The Weekly Challenge Contributions [2019 - 2021]" }, + "xAxis" : { + "type" : "category", + "labels" : { + "style" : { + "fontFamily" : "Verdana, sans-serif", + "fontSize" : "13px" + } + } + }, "legend" : { "enabled" : "false" }, + "yAxis" : { + "min" : 0, + "title" : { + "text" : null + } + }, + "tooltip" : { + "pointFormat" : "{point.y:.0f}" + }, "chart" : { "type" : "column" } diff --git a/stats/pwc-language-breakdown.json b/stats/pwc-language-breakdown.json index 108a251b8c..4ddeebcea8 100644 --- a/stats/pwc-language-breakdown.json +++ b/stats/pwc-language-breakdown.json @@ -1,16 +1,35 @@ { - "subtitle" : { - "text" : "Click the columns to drilldown the language breakdown. Last updated at 2021-10-05 16:20:33 GMT" + "plotOptions" : { + "series" : { + "borderWidth" : 0, + "dataLabels" : { + "format" : "{point.y}", + "enabled" : 1 + } + } + }, + "tooltip" : { + "pointFormat" : "Challenge {point.name}: {point.y:f}
", + "followPointer" : "true", + "headerFormat" : "" + }, + "chart" : { + "type" : "column" }, "yAxis" : { "title" : { "text" : "Total Solutions" } }, + "legend" : { + "enabled" : "false" + }, + "xAxis" : { + "type" : "category" + }, "drilldown" : { "series" : [ { - "id" : "001", "data" : [ [ "Perl", @@ -25,9 +44,11 @@ 11 ] ], - "name" : "001" + "name" : "001", + "id" : "001" }, { + "id" : "002", "data" : [ [ "Perl", @@ -42,11 +63,9 @@ 10 ] ], - "id" : "002", "name" : "002" }, { - "name" : "003", "id" : "003", "data" : [ [ @@ -61,10 +80,12 @@ "Blog", 9 ] - ] + ], + "name" : "003" }, { "id" : "004", + "name" : "004", "data" : [ [ "Perl", @@ -78,11 +99,10 @@ "Blog", 10 ] - ], - "name" : "004" + ] }, { - "name" : "005", + "id" : "005", "data" : [ [ "Perl", @@ -97,7 +117,7 @@ 12 ] ], - "id" : "005" + "name" : "005" }, { "id" : "006", @@ -118,8 +138,8 @@ "name" : "006" }, { - "name" : "007", "id" : "007", + "name" : "007", "data" : [ [ "Perl", @@ -136,6 +156,7 @@ ] }, { + "id" : "008", "data" : [ [ "Perl", @@ -150,11 +171,10 @@ 12 ] ], - "id" : "008", "name" : "008" }, { - "name" : "009", + "id" : "009", "data" : [ [ "Perl", @@ -169,7 +189,7 @@ 13 ] ], - "id" : "009" + "name" : "009" }, { "data" : [ @@ -186,10 +206,11 @@ 11 ] ], - "id" : "010", - "name" : "010" + "name" : "010", + "id" : "010" }, { + "id" : "011", "data" : [ [ "Perl", @@ -204,11 +225,10 @@ 10 ] ], - "id" : "011", "name" : "011" }, { - "id" : "012", + "name" : "012", "data" : [ [ "Perl", @@ -223,10 +243,10 @@ 11 ] ], - "name" : "012" + "id" : "012" }, { - "name" : "013", + "id" : "013", "data" : [ [ "Perl", @@ -241,9 +261,10 @@ 13 ] ], - "id" : "013" + "name" : "013" }, { + "id" : "014", "data" : [ [ "Perl", @@ -258,11 +279,9 @@ 15 ] ], - "id" : "014", "name" : "014" }, { - "id" : "015", "data" : [ [ "Perl", @@ -277,11 +296,11 @@ 15 ] ], - "name" : "015" + "name" : "015", + "id" : "015" }, { "name" : "016", - "id" : "016", "data" : [ [ "Perl", @@ -295,7 +314,8 @@ "Blog", 12 ] - ] + ], + "id" : "016" }, { "id" : "017", @@ -316,8 +336,6 @@ "name" : "017" }, { - "name" : "018", - "id" : "018", "data" : [ [ "Perl", @@ -331,10 +349,11 @@ "Blog", 14 ] - ] + ], + "name" : "018", + "id" : "018" }, { - "name" : "019", "data" : [ [ "Perl", @@ -349,9 +368,11 @@ 13 ] ], + "name" : "019", "id" : "019" }, { + "name" : "020", "data" : [ [ "Perl", @@ -366,11 +387,9 @@ 13 ] ], - "id" : "020", - "name" : "020" + "id" : "020" }, { - "id" : "021", "data" : [ [ "Perl", @@ -385,9 +404,12 @@ 10 ] ], - "name" : "021" + "name" : "021", + "id" : "021" }, { + "id" : "022", + "name" : "022", "data" : [ [ "Perl", @@ -401,9 +423,7 @@ "Blog", 10 ] - ], - "id" : "022", - "name" : "022" + ] }, { "id" : "023", @@ -456,12 +476,11 @@ 12 ] ], - "id" : "025", - "name" : "025" + "name" : "025", + "id" : "025" }, { "name" : "026", - "id" : "026", "data" : [ [ "Perl", @@ -475,9 +494,11 @@ "Blog", 10 ] - ] + ], + "id" : "026" }, { + "name" : "027", "data" : [ [ "Perl", @@ -492,11 +513,10 @@ 9 ] ], - "id" : "027", - "name" : "027" + "id" : "027" }, { - "id" : "028", + "name" : "028", "data" : [ [ "Perl", @@ -511,9 +531,10 @@ 9 ] ], - "name" : "028" + "id" : "028" }, { + "id" : "029", "name" : "029", "data" : [ [ @@ -528,8 +549,7 @@ "Blog", 12 ] - ], - "id" : "029" + ] }, { "id" : "030", @@ -568,6 +588,7 @@ "id" : "031" }, { + "id" : "032", "name" : "032", "data" : [ [ @@ -582,8 +603,7 @@ "Blog", 10 ] - ], - "id" : "032" + ] }, { "id" : "033", @@ -604,6 +624,7 @@ "name" : "033" }, { + "id" : "034", "name" : "034", "data" : [ [ @@ -618,10 +639,10 @@ "Blog", 11 ] - ], - "id" : "034" + ] }, { + "name" : "035", "data" : [ [ "Perl", @@ -636,11 +657,11 @@ 9 ] ], - "id" : "035", - "name" : "035" + "id" : "035" }, { "id" : "036", + "name" : "036", "data" : [ [ "Perl", @@ -654,11 +675,11 @@ "Blog", 11 ] - ], - "name" : "036" + ] }, { "id" : "037", + "name" : "037", "data" : [ [ "Perl", @@ -672,11 +693,9 @@ "Blog", 9 ] - ], - "name" : "037" + ] }, { - "name" : "038", "data" : [ [ "Perl", @@ -691,10 +710,10 @@ 12 ] ], + "name" : "038", "id" : "038" }, { - "name" : "039", "id" : "039", "data" : [ [ @@ -709,10 +728,12 @@ "Blog", 12 ] - ] + ], + "name" : "039" }, { "id" : "040", + "name" : "040", "data" : [ [ "Perl", @@ -726,11 +747,9 @@ "Blog", 10 ] - ], - "name" : "040" + ] }, { - "name" : "041", "data" : [ [ "Perl", @@ -745,9 +764,11 @@ 9 ] ], + "name" : "041", "id" : "041" }, { + "id" : "042", "data" : [ [ "Perl", @@ -762,12 +783,10 @@ 11 ] ], - "id" : "042", "name" : "042" }, { "name" : "043", - "id" : "043", "data" : [ [ "Perl", @@ -781,9 +800,12 @@ "Blog", 11 ] - ] + ], + "id" : "043" }, { + "id" : "044", + "name" : "044", "data" : [ [ "Perl", @@ -797,12 +819,9 @@ "Blog", 11 ] - ], - "id" : "044", - "name" : "044" + ] }, { - "id" : "045", "data" : [ [ "Perl", @@ -817,11 +836,12 @@ 11 ] ], - "name" : "045" + "name" : "045", + "id" : "045" }, { - "name" : "046", "id" : "046", + "name" : "046", "data" : [ [ "Perl", @@ -856,6 +876,8 @@ "name" : "047" }, { + "id" : "048", + "name" : "048", "data" : [ [ "Perl", @@ -869,12 +891,11 @@ "Blog", 12 ] - ], - "id" : "048", - "name" : "048" + ] }, { "id" : "049", + "name" : "049", "data" : [ [ "Perl", @@ -888,11 +909,11 @@ "Blog", 12 ] - ], - "name" : "049" + ] }, { "id" : "050", + "name" : "050", "data" : [ [ "Perl", @@ -906,11 +927,9 @@ "Blog", 12 ] - ], - "name" : "050" + ] }, { - "name" : "051", "id" : "051", "data" : [ [ @@ -925,7 +944,8 @@ "Blog", 11 ] - ] + ], + "name" : "051" }, { "data" : [ @@ -942,10 +962,11 @@ 14 ] ], - "id" : "052", - "name" : "052" + "name" : "052", + "id" : "052" }, { + "id" : "053", "data" : [ [ "Perl", @@ -960,10 +981,10 @@ 15 ] ], - "id" : "053", "name" : "053" }, { + "name" : "054", "data" : [ [ "Perl", @@ -978,10 +999,10 @@ 18 ] ], - "id" : "054", - "name" : "054" + "id" : "054" }, { + "id" : "055", "data" : [ [ "Perl", @@ -996,10 +1017,10 @@ 14 ] ], - "id" : "055", "name" : "055" }, { + "id" : "056", "name" : "056", "data" : [ [ @@ -1014,10 +1035,11 @@ "Blog", 16 ] - ], - "id" : "056" + ] }, { + "id" : "057", + "name" : "057", "data" : [ [ "Perl", @@ -1031,9 +1053,7 @@ "Blog", 15 ] - ], - "id" : "057", - "name" : "057" + ] }, { "id" : "058", @@ -1072,6 +1092,7 @@ "name" : "059" }, { + "id" : "060", "data" : [ [ "Perl", @@ -1086,11 +1107,10 @@ 16 ] ], - "id" : "060", "name" : "060" }, { - "id" : "061", + "name" : "061", "data" : [ [ "Perl", @@ -1105,10 +1125,11 @@ 14 ] ], - "name" : "061" + "id" : "061" }, { "id" : "062", + "name" : "062", "data" : [ [ "Perl", @@ -1122,8 +1143,7 @@ "Blog", 11 ] - ], - "name" : "062" + ] }, { "data" : [ @@ -1140,11 +1160,10 @@ 13 ] ], - "id" : "063", - "name" : "063" + "name" : "063", + "id" : "063" }, { - "name" : "064", "id" : "064", "data" : [ [ @@ -1159,11 +1178,12 @@ "Blog", 16 ] - ] + ], + "name" : "064" }, { - "name" : "065", "id" : "065", + "name" : "065", "data" : [ [ "Perl", @@ -1180,6 +1200,8 @@ ] }, { + "id" : "066", + "name" : "066", "data" : [ [ "Perl", @@ -1193,13 +1215,10 @@ "Blog", 14 ] - ], - "id" : "066", - "name" : "066" + ] }, { "name" : "067", - "id" : "067", "data" : [ [ "Perl", @@ -1213,11 +1232,10 @@ "Blog", 18 ] - ] + ], + "id" : "067" }, { - "name" : "068", - "id" : "068", "data" : [ [ "Perl", @@ -1231,9 +1249,12 @@ "Blog", 13 ] - ] + ], + "name" : "068", + "id" : "068" }, { + "id" : "069", "name" : "069", "data" : [ [ @@ -1248,12 +1269,10 @@ "Blog", 16 ] - ], - "id" : "069" + ] }, { "name" : "070", - "id" : "070", "data" : [ [ "Perl", @@ -1267,10 +1286,10 @@ "Blog", 17 ] - ] + ], + "id" : "070" }, { - "name" : "071", "id" : "071", "data" : [ [ @@ -1285,9 +1304,11 @@ "Blog", 15 ] - ] + ], + "name" : "071" }, { + "name" : "072", "data" : [ [ "Perl", @@ -1302,8 +1323,7 @@ 19 ] ], - "id" : "072", - "name" : "072" + "id" : "072" }, { "name" : "073", @@ -1342,6 +1362,8 @@ "id" : "074" }, { + "id" : "075", + "name" : "075", "data" : [ [ "Perl", @@ -1355,12 +1377,11 @@ "Blog", 20 ] - ], - "id" : "075", - "name" : "075" + ] }, { "id" : "076", + "name" : "076", "data" : [ [ "Perl", @@ -1374,8 +1395,7 @@ "Blog", 16 ] - ], - "name" : "076" + ] }, { "data" : [ @@ -1392,10 +1412,11 @@ 14 ] ], - "id" : "077", - "name" : "077" + "name" : "077", + "id" : "077" }, { + "id" : "078", "data" : [ [ "Perl", @@ -1410,11 +1431,9 @@ 18 ] ], - "id" : "078", "name" : "078" }, { - "id" : "079", "data" : [ [ "Perl", @@ -1429,7 +1448,8 @@ 17 ] ], - "name" : "079" + "name" : "079", + "id" : "079" }, { "id" : "080", @@ -1450,7 +1470,6 @@ "name" : "080" }, { - "id" : "081", "data" : [ [ "Perl", @@ -1465,10 +1484,11 @@ 15 ] ], - "name" : "081" + "name" : "081", + "id" : "081" }, { - "id" : "082", + "name" : "082", "data" : [ [ "Perl", @@ -1483,9 +1503,10 @@ 17 ] ], - "name" : "082" + "id" : "082" }, { + "name" : "083", "data" : [ [ "Perl", @@ -1500,10 +1521,11 @@ 16 ] ], - "id" : "083", - "name" : "083" + "id" : "083" }, { + "id" : "084", + "name" : "084", "data" : [ [ "Perl", @@ -1517,13 +1539,11 @@ "Blog", 12 ] - ], - "id" : "084", - "name" : "084" + ] }, { - "name" : "085", "id" : "085", + "name" : "085", "data" : [ [ "Perl", @@ -1540,7 +1560,7 @@ ] }, { - "name" : "086", + "id" : "086", "data" : [ [ "Perl", @@ -1555,11 +1575,11 @@ 15 ] ], - "id" : "086" + "name" : "086" }, { - "name" : "087", "id" : "087", + "name" : "087", "data" : [ [ "Perl", @@ -1576,6 +1596,7 @@ ] }, { + "id" : "088", "data" : [ [ "Perl", @@ -1590,11 +1611,10 @@ 20 ] ], - "id" : "088", "name" : "088" }, { - "name" : "089", + "id" : "089", "data" : [ [ "Perl", @@ -1609,10 +1629,10 @@ 20 ] ], - "id" : "089" + "name" : "089" }, { - "id" : "090", + "name" : "090", "data" : [ [ "Perl", @@ -1627,9 +1647,11 @@ 17 ] ], - "name" : "090" + "id" : "090" }, { + "id" : "091", + "name" : "091", "data" : [ [ "Perl", @@ -1643,9 +1665,7 @@ "Blog", 16 ] - ], - "id" : "091", - "name" : "091" + ] }, { "id" : "092", @@ -1666,6 +1686,7 @@ "name" : "092" }, { + "id" : "093", "name" : "093", "data" : [ [ @@ -1680,12 +1701,10 @@ "Blog", 16 ] - ], - "id" : "093" + ] }, { "name" : "094", - "id" : "094", "data" : [ [ "Perl", @@ -1699,7 +1718,8 @@ "Blog", 17 ] - ] + ], + "id" : "094" }, { "data" : [ @@ -1716,10 +1736,12 @@ 19 ] ], - "id" : "095", - "name" : "095" + "name" : "095", + "id" : "095" }, { + "id" : "096", + "name" : "096", "data" : [ [ "Perl", @@ -1733,12 +1755,9 @@ "Blog", 19 ] - ], - "id" : "096", - "name" : "096" + ] }, { - "id" : "097", "data" : [ [ "Perl", @@ -1753,9 +1772,11 @@ 19 ] ], - "name" : "097" + "name" : "097", + "id" : "097" }, { + "id" : "098", "data" : [ [ "Perl", @@ -1770,7 +1791,6 @@ 17 ] ], - "id" : "098", "name" : "098" }, { @@ -1788,8 +1808,8 @@ 14 ] ], - "id" : "099", - "name" : "099" + "name" : "099", + "id" : "099" }, { "id" : "100", @@ -1811,6 +1831,7 @@ }, { "id" : "101", + "name" : "101", "data" : [ [ "Perl", @@ -1824,8 +1845,7 @@ "Blog", 13 ] - ], - "name" : "101" + ] }, { "name" : "102", @@ -1864,7 +1884,7 @@ "name" : "103" }, { - "id" : "104", + "name" : "104", "data" : [ [ "Perl", @@ -1879,9 +1899,10 @@ 14 ] ], - "name" : "104" + "id" : "104" }, { + "id" : "105", "name" : "105", "data" : [ [ @@ -1896,8 +1917,7 @@ "Blog", 14 ] - ], - "id" : "105" + ] }, { "data" : [ @@ -1914,12 +1934,12 @@ 17 ] ], - "id" : "106", - "name" : "106" + "name" : "106", + "id" : "106" }, { - "name" : "107", "id" : "107", + "name" : "107", "data" : [ [ "Perl", @@ -1936,6 +1956,7 @@ ] }, { + "id" : "108", "name" : "108", "data" : [ [ @@ -1950,11 +1971,9 @@ "Blog", 20 ] - ], - "id" : "108" + ] }, { - "id" : "109", "data" : [ [ "Perl", @@ -1969,7 +1988,8 @@ 22 ] ], - "name" : "109" + "name" : "109", + "id" : "109" }, { "id" : "110", @@ -1990,7 +2010,7 @@ "name" : "110" }, { - "id" : "111", + "name" : "111", "data" : [ [ "Perl", @@ -2005,9 +2025,10 @@ 17 ] ], - "name" : "111" + "id" : "111" }, { + "id" : "112", "data" : [ [ "Perl", @@ -2022,12 +2043,11 @@ 19 ] ], - "id" : "112", "name" : "112" }, { - "name" : "113", "id" : "113", + "name" : "113", "data" : [ [ "Perl", @@ -2094,10 +2114,11 @@ 17 ] ], - "id" : "116", - "name" : "116" + "name" : "116", + "id" : "116" }, { + "id" : "117", "name" : "117", "data" : [ [ @@ -2112,10 +2133,11 @@ "Blog", 19 ] - ], - "id" : "117" + ] }, { + "id" : "118", + "name" : "118", "data" : [ [ "Perl", @@ -2129,9 +2151,7 @@ "Blog", 17 ] - ], - "id" : "118", - "name" : "118" + ] }, { "name" : "119", @@ -2152,7 +2172,7 @@ "id" : "119" }, { - "name" : "120", + "id" : "120", "data" : [ [ "Perl", @@ -2167,9 +2187,10 @@ 21 ] ], - "id" : "120" + "name" : "120" }, { + "id" : "121", "name" : "121", "data" : [ [ @@ -2184,11 +2205,9 @@ "Blog", 17 ] - ], - "id" : "121" + ] }, { - "id" : "122", "data" : [ [ "Perl", @@ -2203,10 +2222,11 @@ 20 ] ], - "name" : "122" + "name" : "122", + "id" : "122" }, { - "id" : "123", + "name" : "123", "data" : [ [ "Perl", @@ -2221,7 +2241,7 @@ 18 ] ], - "name" : "123" + "id" : "123" }, { "data" : [ @@ -2238,8 +2258,8 @@ 16 ] ], - "id" : "124", - "name" : "124" + "name" : "124", + "id" : "124" }, { "id" : "125", @@ -2261,7 +2281,6 @@ }, { "name" : "126", - "id" : "126", "data" : [ [ "Perl", @@ -2275,10 +2294,11 @@ "Blog", 18 ] - ] + ], + "id" : "126" }, { - "name" : "127", + "id" : "127", "data" : [ [ "Perl", @@ -2293,11 +2313,9 @@ 18 ] ], - "id" : "127" + "name" : "127" }, { - "name" : "128", - "id" : "128", "data" : [ [ "Perl", @@ -2311,7 +2329,9 @@ "Blog", 15 ] - ] + ], + "name" : "128", + "id" : "128" }, { "id" : "129", @@ -2332,7 +2352,7 @@ "name" : "129" }, { - "name" : "130", + "id" : "130", "data" : [ [ "Perl", @@ -2347,10 +2367,11 @@ 13 ] ], - "id" : "130" + "name" : "130" }, { "id" : "131", + "name" : "131", "data" : [ [ "Perl", @@ -2364,12 +2385,10 @@ "Blog", 17 ] - ], - "name" : "131" + ] }, { "name" : "132", - "id" : "132", "data" : [ [ "Perl", @@ -2383,18 +2402,19 @@ "Blog", 12 ] - ] + ], + "id" : "132" }, { "name" : "133", "data" : [ [ "Perl", - 9 + 11 ], [ "Raku", - 9 + 11 ], [ "Blog", @@ -2405,65 +2425,41 @@ } ] }, - "tooltip" : { - "pointFormat" : "Challenge {point.name}: {point.y:f}
", - "followPointer" : "true", - "headerFormat" : "" - }, - "xAxis" : { - "type" : "category" - }, - "chart" : { - "type" : "column" - }, - "legend" : { - "enabled" : "false" - }, "title" : { "text" : "The Weekly Challenge Language" }, - "plotOptions" : { - "series" : { - "dataLabels" : { - "enabled" : 1, - "format" : "{point.y}" - }, - "borderWidth" : 0 - } - }, "series" : [ { - "name" : "The Weekly Challenge Languages", "data" : [ { + "drilldown" : "001", "name" : "#001", - "y" : 161, - "drilldown" : "001" + "y" : 161 }, { - "y" : 125, "drilldown" : "002", - "name" : "#002" + "name" : "#002", + "y" : 125 }, { "name" : "#003", - "y" : 81, - "drilldown" : "003" + "drilldown" : "003", + "y" : 81 }, { - "y" : 99, "drilldown" : "004", - "name" : "#004" + "name" : "#004", + "y" : 99 }, { + "y" : 78, "name" : "#005", - "drilldown" : "005", - "y" : 78 + "drilldown" : "005" }, { + "y" : 58, "name" : "#006", - "drilldown" : "006", - "y" : 58 + "drilldown" : "006" }, { "y" : 64, @@ -2471,24 +2467,24 @@ "name" : "#007" }, { - "name" : "#008", "y" : 78, + "name" : "#008", "drilldown" : "008" }, { + "drilldown" : "009", "name" : "#009", - "y" : 76, - "drilldown" : "009" + "y" : 76 }, { "drilldown" : "010", - "y" : 65, - "name" : "#010" + "name" : "#010", + "y" : 65 }, { + "drilldown" : "011", "name" : "#011", - "y" : 85, - "drilldown" : "011" + "y" : 85 }, { "y" : 89, @@ -2496,74 +2492,74 @@ "name" : "#012" }, { - "y" : 85, + "name" : "#013", "drilldown" : "013", - "name" : "#013" + "y" : 85 }, { - "y" : 101, + "name" : "#014", "drilldown" : "014", - "name" : "#014" + "y" : 101 }, { - "drilldown" : "015", "y" : 99, + "drilldown" : "015", "name" : "#015" }, { + "y" : 71, "name" : "#016", - "drilldown" : "016", - "y" : 71 + "drilldown" : "016" }, { + "drilldown" : "017", "name" : "#017", - "y" : 84, - "drilldown" : "017" + "y" : 84 }, { "name" : "#018", - "y" : 81, - "drilldown" : "018" + "drilldown" : "018", + "y" : 81 }, { + "name" : "#019", "drilldown" : "019", - "y" : 103, - "name" : "#019" + "y" : 103 }, { - "name" : "#020", "drilldown" : "020", + "name" : "#020", "y" : 101 }, { - "drilldown" : "021", "y" : 72, - "name" : "#021" + "name" : "#021", + "drilldown" : "021" }, { "y" : 68, - "drilldown" : "022", - "name" : "#022" + "name" : "#022", + "drilldown" : "022" }, { - "name" : "#023", "y" : 97, + "name" : "#023", "drilldown" : "023" }, { - "y" : 75, + "name" : "#024", "drilldown" : "024", - "name" : "#024" + "y" : 75 }, { - "name" : "#025", + "y" : 59, "drilldown" : "025", - "y" : 59 + "name" : "#025" }, { + "y" : 74, "name" : "#026", - "drilldown" : "026", - "y" : 74 + "drilldown" : "026" }, { "name" : "#027", @@ -2571,24 +2567,24 @@ "y" : 60 }, { - "drilldown" : "028", "y" : 80, - "name" : "#028" + "name" : "#028", + "drilldown" : "028" }, { - "name" : "#029", "y" : 79, - "drilldown" : "029" + "drilldown" : "029", + "name" : "#029" }, { "name" : "#030", - "y" : 117, - "drilldown" : "030" + "drilldown" : "030", + "y" : 117 }, { + "drilldown" : "031", "name" : "#031", - "y" : 89, - "drilldown" : "031" + "y" : 89 }, { "name" : "#032", @@ -2596,19 +2592,19 @@ "y" : 94 }, { + "name" : "#033", "drilldown" : "033", - "y" : 110, - "name" : "#033" + "y" : 110 }, { - "drilldown" : "034", "y" : 64, + "drilldown" : "034", "name" : "#034" }, { - "name" : "#035", "y" : 64, - "drilldown" : "035" + "drilldown" : "035", + "name" : "#035" }, { "name" : "#036", @@ -2616,19 +2612,19 @@ "y" : 68 }, { - "drilldown" : "037", "y" : 67, + "drilldown" : "037", "name" : "#037" }, { - "name" : "#038", + "y" : 68, "drilldown" : "038", - "y" : 68 + "name" : "#038" }, { "drilldown" : "039", - "y" : 62, - "name" : "#039" + "name" : "#039", + "y" : 62 }, { "name" : "#040", @@ -2636,19 +2632,19 @@ "y" : 73 }, { - "name" : "#041", + "y" : 76, "drilldown" : "041", - "y" : 76 + "name" : "#041" }, { - "name" : "#042", "y" : 92, + "name" : "#042", "drilldown" : "042" }, { "drilldown" : "043", - "y" : 68, - "name" : "#043" + "name" : "#043", + "y" : 68 }, { "y" : 85, @@ -2656,24 +2652,24 @@ "name" : "#044" }, { - "y" : 96, + "name" : "#045", "drilldown" : "045", - "name" : "#045" + "y" : 96 }, { - "name" : "#046", "y" : 87, + "name" : "#046", "drilldown" : "046" }, { - "drilldown" : "047", "y" : 84, - "name" : "#047" + "name" : "#047", + "drilldown" : "047" }, { "drilldown" : "048", - "y" : 108, - "name" : "#048" + "name" : "#048", + "y" : 108 }, { "name" : "#049", @@ -2681,44 +2677,44 @@ "y" : 89 }, { - "name" : "#050", "y" : 98, - "drilldown" : "050" + "drilldown" : "050", + "name" : "#050" }, { + "drilldown" : "051", "name" : "#051", - "y" : 89, - "drilldown" : "051" + "y" : 89 }, { + "y" : 91, "name" : "#052", - "drilldown" : "052", - "y" : 91 + "drilldown" : "052" }, { - "y" : 101, "drilldown" : "053", - "name" : "#053" + "name" : "#053", + "y" : 101 }, { + "drilldown" : "054", "name" : "#054", - "y" : 103, - "drilldown" : "054" + "y" : 103 }, { - "drilldown" : "055", "y" : 88, - "name" : "#055" + "name" : "#055", + "drilldown" : "055" }, { + "y" : 95, "name" : "#056", - "drilldown" : "056", - "y" : 95 + "drilldown" : "056" }, { - "name" : "#057", "y" : 80, - "drilldown" : "057" + "drilldown" : "057", + "name" : "#057" }, { "name" : "#058", @@ -2727,23 +2723,23 @@ }, { "drilldown" : "059", - "y" : 89, - "name" : "#059" + "name" : "#059", + "y" : 89 }, { - "drilldown" : "060", "y" : 85, + "drilldown" : "060", "name" : "#060" }, { - "y" : 81, "drilldown" : "061", - "name" : "#061" + "name" : "#061", + "y" : 81 }, { - "drilldown" : "062", "y" : 58, - "name" : "#062" + "name" : "#062", + "drilldown" : "062" }, { "y" : 89, @@ -2751,9 +2747,9 @@ "name" : "#063" }, { - "drilldown" : "064", "y" : 80, - "name" : "#064" + "name" : "#064", + "drilldown" : "064" }, { "name" : "#065", @@ -2761,8 +2757,8 @@ "y" : 73 }, { - "name" : "#066", "drilldown" : "066", + "name" : "#066", "y" : 84 }, { @@ -2777,37 +2773,37 @@ }, { "name" : "#069", - "y" : 83, - "drilldown" : "069" + "drilldown" : "069", + "y" : 83 }, { - "name" : "#070", "y" : 93, - "drilldown" : "070" + "drilldown" : "070", + "name" : "#070" }, { - "drilldown" : "071", "y" : 78, - "name" : "#071" + "name" : "#071", + "drilldown" : "071" }, { + "y" : 112, "name" : "#072", - "drilldown" : "072", - "y" : 112 + "drilldown" : "072" }, { "name" : "#073", - "y" : 110, - "drilldown" : "073" + "drilldown" : "073", + "y" : 110 }, { - "name" : "#074", + "y" : 115, "drilldown" : "074", - "y" : 115 + "name" : "#074" }, { - "name" : "#075", "drilldown" : "075", + "name" : "#075", "y" : 115 }, { @@ -2816,9 +2812,9 @@ "y" : 99 }, { - "name" : "#077", "y" : 98, - "drilldown" : "077" + "drilldown" : "077", + "name" : "#077" }, { "y" : 127, @@ -2826,29 +2822,29 @@ "name" : "#078" }, { - "drilldown" : "079", "y" : 122, + "drilldown" : "079", "