From 37d9ef37c823f46b60158192af225dfc9c0012cf Mon Sep 17 00:00:00 2001 From: Mohammad S Anwar Date: Mon, 14 Mar 2022 02:36:42 +0000 Subject: - Added solutions by Colin Crain. --- challenge-155/colin-crain/perl/ch-1.pl | 146 ++ challenge-155/colin-crain/perl/ch-2.pl | 140 ++ challenge-155/colin-crain/raku/ch-1.raku | 36 + challenge-155/colin-crain/raku/ch-2.raku | 30 + stats/pwc-current.json | 518 +++---- stats/pwc-language-breakdown-summary.json | 52 +- stats/pwc-language-breakdown.json | 2130 ++++++++++++++--------------- stats/pwc-leaders.json | 400 +++--- stats/pwc-summary-1-30.json | 112 +- stats/pwc-summary-121-150.json | 100 +- stats/pwc-summary-151-180.json | 30 +- stats/pwc-summary-181-210.json | 106 +- stats/pwc-summary-211-240.json | 116 +- stats/pwc-summary-241-270.json | 56 +- stats/pwc-summary-31-60.json | 130 +- stats/pwc-summary-61-90.json | 112 +- stats/pwc-summary-91-120.json | 56 +- stats/pwc-summary.json | 46 +- 18 files changed, 2338 insertions(+), 1978 deletions(-) create mode 100755 challenge-155/colin-crain/perl/ch-1.pl create mode 100755 challenge-155/colin-crain/perl/ch-2.pl create mode 100755 challenge-155/colin-crain/raku/ch-1.raku create mode 100755 challenge-155/colin-crain/raku/ch-2.raku diff --git a/challenge-155/colin-crain/perl/ch-1.pl b/challenge-155/colin-crain/perl/ch-1.pl new file mode 100755 index 0000000000..92f628e433 --- /dev/null +++ b/challenge-155/colin-crain/perl/ch-1.pl @@ -0,0 +1,146 @@ +#!/Users/colincrain/perl5/perlbrew/perls/perl-5.32.0/bin/perl +# +# fortunate-son.pl +# +# Fortunate Numbers +# Submitted by: Mohammad S Anwar +# Write a script to produce first 8 Fortunate Numbers (unique and +# sorted). +# +# According to Wikipedia +# +# A Fortunate number, named after Reo Fortune, is the smallest +# integer m > 1 such that, for a given positive integer n, pn# + m +# is a prime number, where the primorial pn# is the product of the +# first n prime numbers. +# +# Expected Output +# +# 3, 5, 7, 13, 17, 19, 23, 37 +# +# analysis +# +# We recently had a discussion on the squarefree numbers, and +# how they pop up unexpectedly all over topics in numbet +# theory. I will take the time to notice that the product of +# the first n prime numbers is the same as a prime degeneration +# with a maximal amount of discrete factors, with no exponents. +# So in other words we are talking about the largest squarefree +# number that we can create from n number of factors. +# +# Sow how about that? +# +# To rephrase the description then, the fortunate numbers +# correspond to a list of positive deltas required to make the +# largest squarefree number with that many factors prime. +# +# So we need to produce a list of primes, and from that list of +# cumulative products as we multiply in each successive term. +# Then from each of these products we need to first add 3 to +# make it odd and check for primality. +# +# Because the promorial will always be have 2 as a factor it +# will always be even. We would make this odd by adding 1, but +# 1 is always excluded from the fortunate numbers so we +# immediately jump to 3. +# +# Likewise for testing a number for primality we can skip the +# calculation for 2, because we know we've made the candidate +# odd already. So we can start at 3 and increment upwards by 2s +# from there. We test repeatedly until we are prime. +# +# There's one last step though, which is to find 8 distinct +# terms and sort them. We'll need to gather terms until we have +# enough. As it's evident the list is not necessarily ordered, +# this raises the possibility that somewhere along the line the +# value 11 may arise, say at position 1142 or such. I don't see +# that happening but at the moment I don't see any reason to +# exclude the possiblity. +# +# What we will do though is assume it will not, and interpret +# the directive as "the first 8 distinct terms, sorted", which +# is slightly different and less absolute. We will collect +# terms until we find 8 values and then dump the buffer. +# +# © 2022 colin crain +## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## + + + +use warnings; +use strict; +use utf8; +use feature ":5.26"; +use feature qw(signatures); +no warnings 'experimental::signatures'; + + +my $pgen = prime_generator(); +my @primes; +my $primorial = 1; ## multiplicative identity +my %fortunate; + +while ( keys %fortunate < 8 ) { + push @primes, $pgen->(); + $primorial *= $primes[-1]; + + ## loop through values for $f until a prime number is found + my $f = 1; + my $candidate; + FORTUNATE: while ( $f += 2 ) { + $candidate = $primorial + $f; + my $sqrt_candidate = int sqrt( $candidate ); + for ( my $test = 3; $test <= $sqrt_candidate; $test += 2 ) { + next FORTUNATE if $candidate % $test == 0; + } + $fortunate{$f}++; + last FORTUNATE; + } +} + +say join ', ', sort {$a<=>$b} keys %fortunate; + + +sub prime_generator ( ) { +## returns an iterator closure that always delivers the next prime + state @primes; + + return sub { + if ( @primes < 2 ) { + push @primes, @primes == 0 ? 2 : 3; + return $primes[-1]; + } + + my $candidate = $primes[-1] ; + CANDIDATE: while ( $candidate += 2 ) { + my $sqrt_candidate = sqrt( $candidate ); + for my $test ( @primes ) { + next CANDIDATE if $candidate % $test == 0; + last if $test > $sqrt_candidate; + } + push @primes, $candidate; + return $candidate; + } + } +} + + +__END__ + + +2 +6 +30 +210 +2310 +30030 +510510 +9699690 +223092870 +6469693230 +200560490130 +7420738134810 +304250263527210 +13082761331670030 +614889782588491410 +3, 5, 7, 13, 23, 17, 19, 23, 37, 61, 67, 61, 71, 47, 107 diff --git a/challenge-155/colin-crain/perl/ch-2.pl b/challenge-155/colin-crain/perl/ch-2.pl new file mode 100755 index 0000000000..641f3b1a49 --- /dev/null +++ b/challenge-155/colin-crain/perl/ch-2.pl @@ -0,0 +1,140 @@ +#!/Users/colincrain/perl5/perlbrew/perls/perl-5.32.0/bin/perl +# +# pisa-time.pl +# +# Pisano Period +# Submitted by: Mohammad S Anwar +# Write a script to find the period of the 3rd Pisano Period. +# +# In number theory, the nth Pisano period, written as π(n), is the +# period with which the sequence of Fibonacci numbers taken modulo +# n repeats. +# +# The Fibonacci numbers are the numbers in the integer sequence: +# +# 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, +# 233, 377, 610, 987, 1597, 2584, 4181, 6765, ... +# +# For any integer n, the sequence of Fibonacci numbers F(i) taken +# modulo n is periodic. The Pisano period, denoted π(n), is the +# value of the period of this sequence. For example, the sequence +# of Fibonacci numbers modulo 3 begins: +# +# 0, 1, 1, 2, 0, 2, 2, 1, +# 0, 1, 1, 2, 0, 2, 2, 1, +# 0, 1, 1, 2, 0, 2, 2, 1, ... + +# This sequence has period 8, so π(3) = 8. + +# method: +# +# Ok, so we'll need a list of Fibonacci numbers. +# +# Check. No trouble there. +# +# Then, for a general solution, we need to make mappings of this +# list modulo various numbers, and make a new set of lists, one for +# each modulo. +# +# And then the hard part: spotting a cycle. + +# You know whats really good for, you know, matching patterns? A +# pattern matcher, of course. And we have an excellent one of +# these, a world-class model, an inspiration for all the others, in the +# Perl regular expression engine. +# +# So what we do is we construct a string from the array of digits. +# Because the first fibonacci number is 0, the first character in +# this concatenated string will always be 0, and as such the first +# character of any repeated segment will likewise be 0. We can't +# just search from 0 to 0 though, as there may be other incidences +# of 0 digits within the sequence of remainders; we cannot make the +# presumption that there are not. What we need to do is match an +# incidence of a 0, followed by some minimal positive number of +# characters, with this match captured and followed immediately by +# the same matched sequence. +# +# We then record the length of the captured sub-expression to an +# array of Pisano periods for output. +# +# If the recorded period is 0, that's not a possible outcome as +# sequential differences in a modulo operation cannot be the same +# outside of trivial edge-cases. So what we're really recording is +# the failure of a match. This requires the list of Fibonacci +# numbers to be extended to provide enough values to match 2 +# complete cycles. +# +# As the Fibonacci list is extended, though, the values get large +# quickly. Fortunately the simplicity of the underlying math in +# constructing the sequence is not complex, and so adding the +# directive `use bigint` does not cripple the processing time. +# Things move along at a rapid pace. +# +# Except, though, when everything breaks after 10 values. The +# problem here is that our concatenation worked fine for +# single-digit remainders, but gets thrown off starting at 10, when +# that becomes a valid result. We can no longer simply count +# characters, as a single instance of 10 will count as 2 instead of +# 1 and throw off the result. +# +# I see two ways to resolve this. One way would be to extend the +# concatenation to make the number of characters allocated to each +# remained consistent, say by padding with some arbitrary null. +# This would deliver a character count in some multiple of the +# actual period, and we could divide to arrive at the final value. +# This is a perfectly good strategy, albeit a little complicated, +# and makes for very long strings. Peeking ahead we see one of the +# distant results is 120. Doubling the characters could be done +# with a map and allow us to look for Pisanos up to 99. The strings +# would however get quite huge. +# +# On the other hand we could quickly map the values 0 through 35 to +# an alphanumeric character set. Each value gets one character +# again. We don't care what the numerical representation is, after +# all, only that it be unique so we can match a pattern. This would +# allow us access to he Pisanos up to 35 which seems like a +# reasonable ask. Actually there's no reason not to tack on a +# lowercase alphabet, extending our reach another 26 places, as +# again we don't care what characters we're using. +# +# It appears that 256 Fibonaccis are enough to compute the Pisanos +# up to 61. I think that'll be plenty. +# +# +# +# © 2022 colin crain +## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## + + + +use warnings; +use strict; +use utf8; +use feature ":5.26"; +use feature qw(signatures); +no warnings 'experimental::signatures'; +use bigint; + +sub fibonaccis ( $count ) { +## generates sequence of Fibonacci numbers up to and not greater than limit + state @fs = (0,1); + push @fs, $fs[-1] + $fs[-2] while @fs <= $count; + return @fs; +} + + +my @fs = fibonaccis(256); +my @pisas; + +for my $mod (2..61) { + my $modstr = join '', + map { (0..9, "A".."Z", "a".."z")[$_] } + map { $_ % $mod } + @fs; + + $modstr =~ /(0.+?)\1/; + push @pisas, length $1; +} + +say join ', ', @pisas; + diff --git a/challenge-155/colin-crain/raku/ch-1.raku b/challenge-155/colin-crain/raku/ch-1.raku new file mode 100755 index 0000000000..5f24f7a8ea --- /dev/null +++ b/challenge-155/colin-crain/raku/ch-1.raku @@ -0,0 +1,36 @@ +#!/usr/bin/env perl6 +# +# +# 155-1-fortunate-son.raku +# +# method: + +# In Raku the process becomes one complex chained function. In the +# first line w take the triangular reduction product of an infinite +# prime sequence that has been sliced to the first $quan number of +# elements, corresponding to the number of furtuante numbers we +# want to create. This creates a list of primorials to work with. +# +# In the second line we map individual elements from that list to +# the result of creating an infinite list of values starting at the +# initial element value plus 2 and then finding the first prime +# number in the sequence. The we subtract the initial value to +# arrive at the difference, which is the fortunate number. +# +# Then we output the final list of fortunate numbers we've created. +# +# I love this data flow. +# +# © 2022 colin crain +## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## + + + +unit sub MAIN ($quan = 20) ; + + ([\*] ((1..*).grep: *.is-prime)[0..$quan]) + .map({($_+2...Inf).first(*.is-prime) - $_}) + .say ; + + + diff --git a/challenge-155/colin-crain/raku/ch-2.raku b/challenge-155/colin-crain/raku/ch-2.raku new file mode 100755 index 0000000000..14ce601e66 --- /dev/null +++ b/challenge-155/colin-crain/raku/ch-2.raku @@ -0,0 +1,30 @@ +#!/usr/bin/env perl6 +# +# +# pisa-party.raku +# +# +# +# © 2022 colin crain +## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## + + + +unit sub MAIN ($fibs = 256) ; + +my @fs = ( 0, 1, * + * ... * )[^$fibs]; +my @pisas = gather { + for 2..35 -> $mod { + $_ = @fs.map({$_ % $mod}) + .map({ (|(0..9), |('A'..'Z'))[$_] }) + .join ; + /(0.+?){}$0/ ; + take $0.chars; + } +} + + +for @pisas.kv -> $p, $q { + say ($p+2, $q).fmt("%3d", ' → '); +} + diff --git a/stats/pwc-current.json b/stats/pwc-current.json index 91f87f2ec9..0a9bc70c20 100644 --- a/stats/pwc-current.json +++ b/stats/pwc-current.json @@ -1,19 +1,214 @@ { + "subtitle" : { + "text" : "[Champions: 31] Last updated at 2022-03-14 02:33:53 GMT" + }, + "title" : { + "text" : "The Weekly Challenge - 155" + }, + "plotOptions" : { + "series" : { + "dataLabels" : { + "format" : "{point.y}", + "enabled" : 1 + }, + "borderWidth" : 0 + } + }, + "chart" : { + "type" : "column" + }, + "tooltip" : { + "pointFormat" : "{point.name}: {point.y:f}
", + "followPointer" : 1, + "headerFormat" : "{series.name}
" + }, + "yAxis" : { + "title" : { + "text" : "Total Solutions" + } + }, + "xAxis" : { + "type" : "category" + }, + "legend" : { + "enabled" : 0 + }, + "series" : [ + { + "colorByPoint" : 1, + "data" : [ + { + "y" : 2, + "drilldown" : "Abigail", + "name" : "Abigail" + }, + { + "drilldown" : "Adam Russell", + "name" : "Adam Russell", + "y" : 3 + }, + { + "y" : 3, + "drilldown" : "Arne Sommer", + "name" : "Arne Sommer" + }, + { + "drilldown" : "Athanasius", + "name" : "Athanasius", + "y" : 4 + }, + { + "name" : "Bruce Gray", + "drilldown" : "Bruce Gray", + "y" : 5 + }, + { + "name" : "Cheok-Yin Fung", + "drilldown" : "Cheok-Yin Fung", + "y" : 3 + }, + { + "drilldown" : "Colin Crain", + "name" : "Colin Crain", + "y" : 6 + }, + { + "y" : 1, + "drilldown" : "Daniel Pfeiffer", + "name" : "Daniel Pfeiffer" + }, + { + "drilldown" : "Dave Jacoby", + "name" : "Dave Jacoby", + "y" : 3 + }, + { + "name" : "Duncan C. White", + "drilldown" : "Duncan C. White", + "y" : 2 + }, + { + "y" : 2, + "name" : "E. Choroba", + "drilldown" : "E. Choroba" + }, + { + "y" : 6, + "name" : "Flavio Poletti", + "drilldown" : "Flavio Poletti" + }, + { + "y" : 5, + "name" : "Jaldhar H. Vyas", + "drilldown" : "Jaldhar H. Vyas" + }, + { + "name" : "James Smith", + "drilldown" : "James Smith", + "y" : 3 + }, + { + "drilldown" : "Jan Krnavek", + "name" : "Jan Krnavek", + "y" : 1 + }, + { + "name" : "Jorg Sommrey", + "drilldown" : "Jorg Sommrey", + "y" : 2 + }, + { + "drilldown" : "Laurent Rosenfeld", + "name" : "Laurent Rosenfeld", + "y" : 5 + }, + { + "y" : 2, + "name" : "Lubos Kolouch", + "drilldown" : "Lubos Kolouch" + }, + { + "y" : 6, + "drilldown" : "Luca Ferrari", + "name" : "Luca Ferrari" + }, + { + "y" : 2, + "drilldown" : "Mark Anderson", + "name" : "Mark Anderson" + }, + { + "y" : 4, + "name" : "Mark Senn", + "drilldown" : "Mark Senn" + }, + { + "drilldown" : "Marton Polgar", + "name" : "Marton Polgar", + "y" : 2 + }, + { + "name" : "Matthew Neleigh", + "drilldown" : "Matthew Neleigh", + "y" : 2 + }, + { + "drilldown" : "Niels van Dijke", + "name" : "Niels van Dijke", + "y" : 2 + }, + { + "y" : 2, + "drilldown" : "Pete Houston", + "name" : "Pete Houston" + }, + { + "y" : 3, + "name" : "Peter Campbell Smith", + "drilldown" : "Peter Campbell Smith" + }, + { + "y" : 2, + "drilldown" : "PokGoPun", + "name" : "PokGoPun" + }, + { + "drilldown" : "Robert DiCicco", + "name" : "Robert DiCicco", + "y" : 2 + }, + { + "drilldown" : "Roger Bell_West", + "name" : "Roger Bell_West", + "y" : 5 + }, + { + "y" : 4, + "drilldown" : "Ulrich Rieke", + "name" : "Ulrich Rieke" + }, + { + "y" : 3, + "name" : "W. Luis Mochan", + "drilldown" : "W. Luis Mochan" + } + ], + "name" : "The Weekly Challenge - 155" + } + ], "drilldown" : { "series" : [ { - "name" : "Abigail", + "id" : "Abigail", "data" : [ [ "Perl", 2 ] ], - "id" : "Abigail" + "name" : "Abigail" }, { - "name" : "Adam Russell", - "id" : "Adam Russell", "data" : [ [ "Perl", @@ -23,11 +218,13 @@ "Blog", 1 ] - ] + ], + "name" : "Adam Russell", + "id" : "Adam Russell" }, { - "name" : "Arne Sommer", "id" : "Arne Sommer", + "name" : "Arne Sommer", "data" : [ [ "Raku", @@ -40,7 +237,6 @@ ] }, { - "name" : "Athanasius", "data" : [ [ "Perl", @@ -51,9 +247,12 @@ 2 ] ], + "name" : "Athanasius", "id" : "Athanasius" }, { + "id" : "Bruce Gray", + "name" : "Bruce Gray", "data" : [ [ "Perl", @@ -67,12 +266,11 @@ "Blog", 1 ] - ], - "id" : "Bruce Gray", - "name" : "Bruce Gray" + ] }, { "id" : "Cheok-Yin Fung", + "name" : "Cheok-Yin Fung", "data" : [ [ "Perl", @@ -82,12 +280,19 @@ "Blog", 1 ] - ], - "name" : "Cheok-Yin Fung" + ] }, { "id" : "Colin Crain", "data" : [ + [ + "Perl", + 2 + ], + [ + "Raku", + 2 + ], [ "Blog", 2 @@ -97,16 +302,16 @@ }, { "name" : "Daniel Pfeiffer", - "id" : "Daniel Pfeiffer", "data" : [ [ "Perl", 1 ] - ] + ], + "id" : "Daniel Pfeiffer" }, { - "name" : "Dave Jacoby", + "id" : "Dave Jacoby", "data" : [ [ "Perl", @@ -117,29 +322,31 @@ 1 ] ], - "id" : "Dave Jacoby" + "name" : "Dave Jacoby" }, { - "id" : "Duncan C. White", "data" : [ [ "Perl", 2 ] ], - "name" : "Duncan C. White" + "name" : "Duncan C. White", + "id" : "Duncan C. White" }, { + "name" : "E. Choroba", "data" : [ [ "Perl", 2 ] ], - "id" : "E. Choroba", - "name" : "E. Choroba" + "id" : "E. Choroba" }, { + "id" : "Flavio Poletti", + "name" : "Flavio Poletti", "data" : [ [ "Perl", @@ -153,11 +360,11 @@ "Blog", 2 ] - ], - "id" : "Flavio Poletti", - "name" : "Flavio Poletti" + ] }, { + "id" : "Jaldhar H. Vyas", + "name" : "Jaldhar H. Vyas", "data" : [ [ "Perl", @@ -171,12 +378,10 @@ "Blog", 1 ] - ], - "id" : "Jaldhar H. Vyas", - "name" : "Jaldhar H. Vyas" + ] }, { - "name" : "James Smith", + "id" : "James Smith", "data" : [ [ "Perl", @@ -187,31 +392,30 @@ 1 ] ], - "id" : "James Smith" + "name" : "James Smith" }, { - "id" : "Jan Krnavek", + "name" : "Jan Krnavek", "data" : [ [ "Raku", 1 ] ], - "name" : "Jan Krnavek" + "id" : "Jan Krnavek" }, { + "id" : "Jorg Sommrey", "data" : [ [ "Perl", 2 ] ], - "id" : "Jorg Sommrey", "name" : "Jorg Sommrey" }, { "name" : "Laurent Rosenfeld", - "id" : "Laurent Rosenfeld", "data" : [ [ "Perl", @@ -225,20 +429,22 @@ "Blog", 1 ] - ] + ], + "id" : "Laurent Rosenfeld" }, { + "name" : "Lubos Kolouch", "data" : [ [ "Perl", 2 ] ], - "id" : "Lubos Kolouch", - "name" : "Lubos Kolouch" + "id" : "Lubos Kolouch" }, { "id" : "Luca Ferrari", + "name" : "Luca Ferrari", "data" : [ [ "Raku", @@ -248,21 +454,19 @@ "Blog", 4 ] - ], - "name" : "Luca Ferrari" + ] }, { + "name" : "Mark Anderson", "data" : [ [ "Raku", 2 ] ], - "id" : "Mark Anderson", - "name" : "Mark Anderson" + "id" : "Mark Anderson" }, { - "name" : "Mark Senn", "id" : "Mark Senn", "data" : [ [ @@ -273,7 +477,8 @@ "Blog", 2 ] - ] + ], + "name" : "Mark Senn" }, { "name" : "Marton Polgar", @@ -286,34 +491,34 @@ "id" : "Marton Polgar" }, { - "name" : "Matthew Neleigh", + "id" : "Matthew Neleigh", "data" : [ [ "Perl", 2 ] ], - "id" : "Matthew Neleigh" + "name" : "Matthew Neleigh" }, { "name" : "Niels van Dijke", - "id" : "Niels van Dijke", "data" : [ [ "Perl", 2 ] - ] + ], + "id" : "Niels van Dijke" }, { + "id" : "Pete Houston", "name" : "Pete Houston", "data" : [ [ "Perl", 2 ] - ], - "id" : "Pete Houston" + ] }, { "name" : "Peter Campbell Smith", @@ -330,14 +535,14 @@ "id" : "Peter Campbell Smith" }, { - "id" : "PokGoPun", "data" : [ [ "Perl", 2 ] ], - "name" : "PokGoPun" + "name" : "PokGoPun", + "id" : "PokGoPun" }, { "data" : [ @@ -346,11 +551,11 @@ 2 ] ], - "id" : "Robert DiCicco", - "name" : "Robert DiCicco" + "name" : "Robert DiCicco", + "id" : "Robert DiCicco" }, { - "name" : "Roger Bell_West", + "id" : "Roger Bell_West", "data" : [ [ "Perl", @@ -365,10 +570,9 @@ 1 ] ], - "id" : "Roger Bell_West" + "name" : "Roger Bell_West" }, { - "name" : "Ulrich Rieke", "id" : "Ulrich Rieke", "data" : [ [ @@ -379,11 +583,10 @@ "Raku", 2 ] - ] + ], + "name" : "Ulrich Rieke" }, { - "name" : "W. Luis Mochan", - "id" : "W. Luis Mochan", "data" : [ [ "Perl", @@ -393,205 +596,10 @@ "Blog", 1 ] - ] + ], + "name" : "W. Luis Mochan", + "id" : "W. Luis Mochan" } ] - }, - "yAxis" : { - "title" : { - "text" : "Total Solutions" - } - }, - "chart" : { - "type" : "column" - }, - "tooltip" : { - "headerFormat" : "{series.name}
", - "followPointer" : 1, - "pointFormat" : "{point.name}: {point.y:f}
" - }, - "title" : { - "text" : "The Weekly Challenge - 155" - }, - "legend" : { - "enabled" : 0 - }, - "subtitle" : { - "text" : "[Champions: 31] Last updated at 2022-03-14 02:21:58 GMT" - }, - "series" : [ - { - "colorByPoint" : 1, - "name" : "The Weekly Challenge - 155", - "data" : [ - { - "y" : 2, - "drilldown" : "Abigail", - "name" : "Abigail" - }, - { - "drilldown" : "Adam Russell", - "y" : 3, - "name" : "Adam Russell" - }, - { - "name" : "Arne Sommer", - "y" : 3, - "drilldown" : "Arne Sommer" - }, - { - "name" : "Athanasius", - "y" : 4, - "drilldown" : "Athanasius" - }, - { - "y" : 5, - "drilldown" : "Bruce Gray", - "name" : "Bruce Gray" - }, - { - "name" : "Cheok-Yin Fung", - "y" : 3, - "drilldown" : "Cheok-Yin Fung" - }, - { - "y" : 2, - "drilldown" : "Colin Crain", - "name" : "Colin Crain" - }, - { - "drilldown" : "Daniel Pfeiffer", - "y" : 1, - "name" : "Daniel Pfeiffer" - }, - { - "y" : 3, - "drilldown" : "Dave Jacoby", - "name" : "Dave Jacoby" - }, - { - "name" : "Duncan C. White", - "y" : 2, - "drilldown" : "Duncan C. White" - }, - { - "drilldown" : "E. Choroba", - "y" : 2, - "name" : "E. Choroba" - }, - { - "name" : "Flavio Poletti", - "drilldown" : "Flavio Poletti", - "y" : 6 - }, - { - "name" : "Jaldhar H. Vyas", - "y" : 5, - "drilldown" : "Jaldhar H. Vyas" - }, - { - "drilldown" : "James Smith", - "y" : 3, - "name" : "James Smith" - }, - { - "name" : "Jan Krnavek", - "y" : 1, - "drilldown" : "Jan Krnavek" - }, - { - "y" : 2, - "drilldown" : "Jorg Sommrey", - "name" : "Jorg Sommrey" - }, - { - "y" : 5, - "drilldown" : "Laurent Rosenfeld", - "name" : "Laurent Rosenfeld" - }, - { - "name" : "Lubos Kolouch", - "drilldown" : "Lubos Kolouch", - "y" : 2 - }, - { - "name" : "Luca Ferrari", - "y" : 6, - "drilldown" : "Luca Ferrari" - }, - { - "name" : "Mark Anderson", - "y" : 2, - "drilldown" : "Mark Anderson" - }, - { - "name" : "Mark Senn", - "drilldown" : "Mark Senn", - "y" : 4 - }, - { - "name" : "Marton Polgar", - "drilldown" : "Marton Polgar", - "y" : 2 - }, - { - "name" : "Matthew Neleigh", - "drilldown" : "Matthew Neleigh", - "y" : 2 - }, - { - "name" : "Niels van Dijke", - "drilldown" : "Niels van Dijke", - "y" : 2 - }, - { - "y" : 2, - "drilldown" : "Pete Houston", - "name" : "Pete Houston" - }, - { - "name" : "Peter Campbell Smith", - "drilldown" : "Peter Campbell Smith", - "y" : 3 - }, - { - "drilldown" : "PokGoPun", - "y" : 2, - "name" : "PokGoPun" - }, - { - "drilldown" : "Robert DiCicco", - "y" : 2, - "name" : "Robert DiCicco" - }, - { - "y" : 5, - "drilldown" : "Roger Bell_West", - "name" : "Roger Bell_West" - }, - { - "name" : "Ulrich Rieke", - "drilldown" : "Ulrich Rieke", - "y" : 4 - }, - { - "name" : "W. Luis Mochan", - "drilldown" : "W. Luis Mochan", - "y" : 3 - } - ] - } - ], - "plotOptions" : { - "series" : { - "dataLabels" : { - "enabled" : 1, - "format" : "{point.y}" - }, - "borderWidth" : 0 - } - }, - "xAxis" : { - "type" : "category" } } diff --git a/stats/pwc-language-breakdown-summary.json b/stats/pwc-language-breakdown-summary.json index 70311722bd..72fa61a150 100644 --- a/stats/pwc-language-breakdown-summary.json +++ b/stats/pwc-language-breakdown-summary.json @@ -1,36 +1,37 @@ { + "tooltip" : { + "pointFormat" : "{point.y:.0f}" + }, "yAxis" : { "min" : 0, "title" : { "text" : null } }, - "xAxis" : { - "type" : "category", - "labels" : { - "style" : { - "fontFamily" : "Verdana, sans-serif", - "fontSize" : "13px" - } - } + "subtitle" : { + "text" : "Last updated at 2022-03-14 02:33:53 GMT" }, - "tooltip" : { - "pointFormat" : "{point.y:.0f}" + "title" : { + "text" : "The Weekly Challenge Contributions [2019 - 2022]" }, "chart" : { "type" : "column" }, - "title" : { - "text" : "The Weekly Challenge Contributions [2019 - 2022]" - }, "legend" : { "enabled" : "false" }, - "subtitle" : { - "text" : "Last updated at 2022-03-14 02:21:58 GMT" + "xAxis" : { + "labels" : { + "style" : { + "fontFamily" : "Verdana, sans-serif", + "fontSize" : "13px" + } + }, + "type" : "category" }, "series" : [ { + "name" : "Contributions", "data" : [ [ "Blog", @@ -38,26 +39,25 @@ ], [ "Perl", - 7470 + 7472 ], [ "Raku", - 4489 + 4491 ] ], "dataLabels" : { + "align" : "right", + "rotation" : -90, + "color" : "#FFFFFF", + "enabled" : "true", "style" : { - "fontFamily" : "Verdana, sans-serif", - "fontSize" : "13px" + "fontSize" : "13px", + "fontFamily" : "Verdana, sans-serif" }, "format" : "{point.y:.0f}", - "y" : 10, - "enabled" : "true", - "align" : "right", - "color" : "#FFFFFF", - "rotation" : -90 - }, - "name" : "Contributions" + "y" : 10 + } } ] } diff --git a/stats/pwc-language-breakdown.json b/stats/pwc-language-breakdown.json index 84babb1705..7a17b104cb 100644 --- a/stats/pwc-language-breakdown.json +++ b/stats/pwc-language-breakdown.json @@ -1,4 +1,13 @@ { + "chart" : { + "type" : "column" + }, + "subtitle" : { + "text" : "Click the columns to drilldown the language breakdown. Last updated at 2022-03-14 02:33:53 GMT" + }, + "title" : { + "text" : "The Weekly Challenge Language" + }, "plotOptions" : { "series" : { "borderWidth" : 0, @@ -8,819 +17,21 @@ } } }, - "xAxis" : { - "type" : "category" - }, - "title" : { - "text" : "The Weekly Challenge Language" - }, - "legend" : { - "enabled" : "false" + "yAxis" : { + "title" : { + "text" : "Total Solutions" + } }, - "subtitle" : { - "text" : "Click the columns to drilldown the language breakdown. Last updated at 2022-03-14 02:21:58 GMT" - }, - "series" : [ - { - "data" : [ - { - "y" : 161, - "drilldown" : "001", - "name" : "#001" - }, - { - "y" : 125, - "drilldown" : "002", - "name" : "#002" - }, - { - "y" : 83, - "drilldown" : "003", - "name" : "#003" - }, - { - "y" : 99, - "drilldown" : "004", - "name" : "#004" - }, - { - "name" : "#005", - "drilldown" : "005", - "y" : 78 - }, - { - "name" : "#006", - "drilldown" : "006", - "y" : 58 - }, - { - "y" : 64, - "drilldown" : "007", - "name" : "#007" - }, - { - "y" : 78, - "drilldown" : "008", - "name" : "#008" - }, - { - "y" : 76, - "drilldown" : "009", - "name" : "#009" - }, - { - "name" : "#010", - "drilldown" : "010", - "y" : 65 - }, - { - "name" : "#011", - "y" : 85, - "drilldown" : "011" - }, - { - "drilldown" : "012", - "y" : 89, - "name" : "#012" - }, - { - "name" : "#013", - "y" : 85, - "drilldown" : "013" - }, - { - "drilldown" : "014", - "y" : 101, - "name" : "#014" - }, - { - "y" : 99, - "drilldown" : "015", - "name" : "#015" - }, - { - "name" : "#016", - "drilldown" : "016", - "y" : 71 - }, - { - "drilldown" : "017", - "y" : 84, - "name" : "#017" - }, - { - "y" : 81, - "drilldown" : "018", - "name" : "#018" - }, - { - "y" : 103, - "drilldown" : "019", - "name" : "#019" - }, - { - "drilldown" : "020", - "y" : 101, - "name" : "#020" - }, - { - "name" : "#021", - "drilldown" : "021", - "y" : 72 - }, - { - "name" : "#022", - "y" : 68, - "drilldown" : "022" - }, - { - "name" : "#023", - "y" : 97, - "drilldown" : "023" - }, - { - "name" : "#024", - "drilldown" : "024", - "y" : 75 - }, - { - "name" : "#025", - "drilldown" : "025", - "y" : 59 - }, - { - "name" : "#026", - "y" : 74, - "drilldown" : "026" - }, - { - "name" : "#027", - "drilldown" : "027", - "y" : 62 - }, - { - "name" : "#028", - "y" : 82, - "drilldown" : "028" - }, - { - "y" : 81, - "drilldown" : "029", - "name" : "#029" - }, - { - "name" : "#030", - "drilldown" : "030", - "y" : 119 - }, - { - "y" : 91, - "drilldown" : "031", - "name" : "#031" - }, - { - "drilldown" : "032", - "y" : 96, - "name" : "#032" - }, - { - "name" : "#033", - "drilldown" : "033", - "y" : 112 - }, - { - "drilldown" : "034", - "y" : 66, - "name" : "#034" - }, - { - "name" : "#035", - "drilldown" : "035", - "y" : 66 - }, - { - "name" : "#036", - "drilldown" : "036", - "y" : 68 - }, - { - "name" : "#037", - "drilldown" : "037", - "y" : 67 - }, - { - "drilldown" : "038", - "y" : 68, - "name" : "#038" - }, - { - "y" : 62, - "drilldown" : "039", - "name" : "#039" - }, - { - "drilldown" : "040", - "y" : 73, - "name" : "#040" - }, - { - "name" : "#041", - "drilldown" : "041", - "y" : 76 - }, - { - "y" : 92, - "drilldown" : "042", - "name" : "#042" - }, - { - "drilldown" : "043", - "y" : 68, - "name" : "#043" - }, - { - "name" : "#044", - "y" : 85, - "drilldown" : "044" - }, - { - "name" : "#045", - "y" : 96, - "drilldown" : "045" - }, - { - "name" : "#046", - "drilldown" : "046", - "y" : 87 - }, - { - "y" : 84, - "drilldown" : "047", - "name" : "#047" - }, - { - "drilldown" : "048", - "y" : 108, - "name" : "#048" - }, - { - "drilldown" : "049", - "y" : 89, - "name" : "#049" - }, - { - "drilldown" : "050", - "y" : 98, - "name" : "#050" - }, - { - "name" : "#051", - "drilldown" : "051", - "y" : 89 - }, - { - "name" : "#052", - "drilldown" : "052", - "y" : 91 - }, - { - "y" : 101, - "drilldown" : "053", - "name" : "#053" - }, - { - "drilldown" : "054", - "y" : 103, - "name" : "#054" - }, - { - "y" : 88, - "drilldown" : "055", - "name" : "#055" - }, - { - "name" : "#056", - "drilldown" : "056", - "y" : 95 - }, - { - "name" : "#057", - "y" : 80, - "drilldown" : "057" - }, - { - "name" : "#058", - "drilldown" : "058", - "y" : 69 - }, - { - "name" : "#059", - "y" : 89, - "drilldown" : "059" - }, - { - "y" : 85, - "drilldown" : "060", - "name" : "#060" - }, - { - "drilldown" : "061", - "y" : 81, - "name" : "#061" - }, - { - "y" : 58, - "drilldown" : "062", - "name" : "#062" - }, - { - "drilldown" : "063", - "y" : 89, - "name" : "#063" - }, - { - "y" : 80, - "drilldown" : "064", - "name" : "#064" - }, - { - "name" : "#065", - "drilldown" : "065", - "y" : 73 - }, - { - "name" : "#066", - "drilldown" : "066", - "y" : 84 - }, - { - "name" : "#067", - "y" : 90, - "drilldown" : "067" - }, - { - "drilldown" : "068", - "y" : 75, - "name" : "#068" - }, - { - "drilldown" : "069", - "y" : 83, - "name" : "#069" - }, - { - "y" : 93, - "drilldown" : "070", - "name" : "#070" - }, - { - "name" : "#071", - "y" : 78, - "drilldown" : "071" - }, - { - "y" : 112, - "drilldown" : "072", - "name" : "#072" - }, - { - "y" : 110, - "drilldown" : "073", - "name" : "#073" - }, - { - "drilldown" : "074", - "y" : 115, - "name" : "#074" - }, - { - "name" : "#075", - "drilldown" : "075", - "y" : 115 - }, - { - "drilldown" : "076", - "y" : 101, - "name" : "#076" - }, - { - "name" : "#077", - "drilldown" : "077", - "y" : 98 - }, - { - "drilldown" : "078", - "y" : 127, - "name" : "#078" - }, - { - "name" : "#079", - "drilldown" : "079", - "y" : 122 - }, - { - "y" : 127, - "drilldown" : "080", - "name" : "#080" - }, - { - "name" : "#081", - "drilldown" : "081", - "y" : 114 - }, - { - "name" : "#082", - "y" : 114, - "drilldown" : "082" - }, - { - "name" : "#083", - "drilldown" : "083", - "y" : 127 - }, - { - "drilldown" : "084", - "y" : 119, - "name" : "#084" - }, - { - "name" : "#085", - "y" : 114, - "drilldown" : "085" - }, - { - "y" : 104, - "drilldown" : "086", - "name" : "#086" - }, - { - "drilldown" : "087", - "y" : 101, - "name" : "#087" - }, - { - "name" : "#088", - "y" : 121, - "drilldown" : "088" - }, - { - "y" : 113, - "drilldown" : "089", - "name" : "#089" - }, - { - "name" : "#090", - "drilldown" : "090", - "y" : 113 - }, - { - "name" : "#091", - "drilldown" : "091", - "y" : 108 - }, - { - "y" : 98, - "drilldown" : "092", - "name" : "#092" - }, - { - "name" : "#093", - "drilldown" : "093", - "y" : 87 - }, - { - "name" : "#094", - "drilldown" : "094", - "y" : 87 - }, - { - "y" : 108, - "drilldown" : "095", - "name" : "#095" - }, - { - "drilldown" : "096", - "y" : 108, - "name" : "#096" - }, - { - "name" : "#097", - "drilldown" : "097", - "y" : 111 - }, - { - "name" : "#098", - "y" : 108, - "drilldown" : "098" - }, - { - "drilldown" : "099", - "y" : 97, - "name" : "#099" - }, - { - "name" : "#100", - "drilldown" : "100", - "y" : 120 - }, - { - "y" : 83, - "drilldown" : "101", - "name" : "#101" - }, - { - "y" : 90, - "drilldown" : "102", - "name" : "#102" - }, - { - "drilldown" : "103", - "y" : 79, - "name" : "#103" - }, - { - "name" : "#104", - "drilldown" : "104", - "y" : 85 - }, - { - "name" : "#105", - "y" : 75, - "drilldown" : "105" - }, - { - "name" : "#106", - "y" : 97, - "drilldown" : "106" - }, - { - "y" : 90, - "drilldown" : "107", - "name" : "#107" - }, - { - "name" : "#108", - "drilldown" : "108", - "y" : 94 - }, - { - "y" : 107, - "drilldown" : "109", - "name" : "#109" - }, - { - "name" : "#110", - "y" : 108, - "drilldown" : "110" - }, - { - "y" : 91, - "drilldown" : "111", - "name" : "#111" - }, - { - "y" : 92, - "drilldown" : "112", - "name" : "#112" - }, - { - "drilldown" : "113", - "y" : 92, - "name" : "#113" - }, - { - "name" : "#114", - "drilldown" : "114", - "y" : 108 - }, - { - "drilldown" : "115", - "y" : 96, - "name" : "#115" - }, - { - "name" : "#116", - "drilldown" : "116", - "y" : 95 - }, - { - "name" : "#117", - "drilldown" : "117", - "y" : 97 - }, - { - "drilldown" : "118", - "y" : 83, - "name" : "#118" - }, - { - "drilldown" : "119", - "y" : 125, - "name" : "#119" - }, - { - "name" : "#120", - "y" : 116, - "drilldown" : "120" - }, - { - "name" : "#121", - "drilldown" : "121", - "y" : 92 - }, - { - "name" : "#122", - "y" : 110, - "drilldown" : "122" - }, - { - "y" : 105, - "drilldown" : "123", - "name" : "#123" - }, - { - "y" : 85, - "drilldown" : "124", - "name" : "#124" - }, - { - "y" : 63, - "drilldown" : "125", - "name" : "#125" - }, - { - "name" : "#126", - "y" : 113, - "drilldown" : "126" - }, - { - "drilldown" : "127", - "y" : 110, - "name" : "#127" - }, - { - "name" : "#128", - "drilldown" : "128", - "y" : 71 - }, - { - "y" : 50, - "drilldown" : "129", - "name" : "#129" - }, - { - "drilldown" : "130", - "y" : 73, - "name" : "#130" - }, - { - "name" : "#131", - "drilldown" : "131", - "y" : 91 - }, - { - "name" : "#132", - "drilldown" : "132", - "y" : 78 - }, - { - "name" : "#133", - "drilldown" : "133", - "y" : 95 - }, - { - "name" : "#134", - "y" : 94, - "drilldown" : "134" - }, - { - "name" : "#135", - "drilldown" : "135", - "y" : 104 - }, - { - "drilldown" : "136", - "y" : 95, - "name" : "#136" - }, - { - "drilldown" : "137", - "y" : 100, - "name" : "#137" - }, - { - "y" : 100, - "drilldown" : "138", - "name" : "#138" - }, - { - "name" : "#139", - "y" : 97, - "drilldown" : "139" - }, - { - "name" : "#140", - "drilldown" : "140", - "y" : 103 - }, - { - "y" : 102, - "drilldown" : "141", - "name" : "#141" - }, - { - "y" : 83, - "drilldown" : "142", - "name" : "#142" - }, - { - "name" : "#143", - "y" : 81, - "drilldown" : "143" - }, - { - "name" : "#144", - "drilldown" : "144", - "y" : 85 - }, - { - "y" : 93, - "drilldown" : "145", - "name" : "#145" - }, - { - "name" : "#146", - "y" : 103, - "drilldown" : "146" - }, - { - "name" : "#147", - "drilldown" : "147", - "y" : 104 - }, - { - "y" : 90, - "drilldown" : "148", - "name" : "#148" - }, - { - "name" : "#149", - "y" : 86, - "drilldown" : "149" - }, - { - "drilldown" : "150", - "y" : 104, - "name" : "#150" - }, - { - "y" : 73, - "drilldown" : "151", - "name" : "#151" - }, - { - "name" : "#152", - "y" : 78, - "drilldown" : "152" - }, - { - "name" : "#153", - "y" : 95, - "drilldown" : "153" - }, - { - "y" : 104, - "drilldown" : "154", - "name" : "#154" - }, - { - "drilldown" : "155", - "y" : 93, - "name" : "#155" - } - ], - "name" : "The Weekly Challenge Languages", - "colorByPoint" : "true" - } - ], - "yAxis" : { - "title" : { - "text" : "Total Solutions" - } - }, - "tooltip" : { - "headerFormat" : "", - "pointFormat" : "Challenge {point.name}: {point.y:f}
", - "followPointer" : "true" - }, - "chart" : { - "type" : "column" + "tooltip" : { + "followPointer" : "true", + "pointFormat" : "Challenge {point.name}: {point.y:f}
", + "headerFormat" : "" }, "drilldown" : { "series" : [ { - "name" : "001", "id" : "001", + "name" : "001", "data" : [ [ "Perl", @@ -838,7 +49,6 @@ }, { "name" : "002", - "id" : "002", "data" : [ [ "Perl", @@ -852,11 +62,12 @@ "Blog", 10 ] - ] + ], + "id" : "002" }, { - "name" : "003", "id" : "003", + "name" : "003", "data" : [ [ "Perl", @@ -874,6 +85,7 @@ }, { "id" : "004", + "name" : "004", "data" : [ [ "Perl", @@ -887,10 +99,11 @@ "Blog", 10 ] - ], - "name" : "004" + ] }, { + "id" : "005", + "name" : "005", "data" : [ [ "Perl", @@ -904,9 +117,7 @@ "Blog", 12 ] - ], - "id" : "005", - "name" : "005" + ] }, { "id" : "006", @@ -941,8 +152,8 @@ 10 ] ], - "id" : "007", - "name" : "007" + "name" : "007", + "id" : "007" }, { "name" : "008", @@ -963,6 +174,7 @@ "id" : "008" }, { + "id" : "009", "name" : "009", "data" : [ [ @@ -977,10 +189,10 @@ "Blog", 13 ] - ], - "id" : "009" + ] }, { + "id" : "010", "name" : "010", "data" : [ [ @@ -995,11 +207,9 @@ "Blog", 11 ] - ], - "id" : "010" + ] }, { - "id" : "011", "data" : [ [ "Perl", @@ -1014,7 +224,8 @@ 10 ] ], - "name" : "011" + "name" : "011", + "id" : "011" }, { "name" : "012", @@ -1035,6 +246,7 @@ "id" : "012" }, { + "id" : "013", "name" : "013", "data" : [ [ @@ -1049,12 +261,11 @@ "Blog", 13 ] - ], - "id" : "013" + ] }, { - "name" : "014", "id" : "014", + "name" : "014", "data" : [ [ "Perl", @@ -1071,6 +282,7 @@ ] }, { + "id" : "015", "data" : [ [ "Perl", @@ -1085,12 +297,10 @@ 15 ] ], - "id" : "015", "name" : "015" }, { "name" : "016", - "id" : "016", "data" : [ [ "Perl", @@ -1104,9 +314,12 @@ "Blog", 12 ] - ] + ], + "id" : "016" }, { + "id" : "017", + "name" : "017", "data" : [ [ "Perl", @@ -1120,13 +333,11 @@ "Blog", 12 ] - ], - "id" : "017", - "name" : "017" + ] }, { - "name" : "018", "id" : "018", + "name" : "018", "data" : [ [ "Perl", @@ -1143,7 +354,7 @@ ] }, { - "name" : "019", + "id" : "019", "data" : [ [ "Perl", @@ -1158,10 +369,9 @@ 13 ] ], - "id" : "019" + "name" : "019" }, { - "name" : "020", "id" : "020", "data" : [ [ @@ -1176,11 +386,10 @@ "Blog", 13 ] - ] + ], + "name" : "020" }, { - "name" : "021", - "id" : "021", "data" : [ [ "Perl", @@ -1194,11 +403,11 @@ "Blog", 10 ] - ] + ], + "name" : "021", + "id" : "021" }, { - "name" : "022", - "id" : "022", "data" : [ [ "Perl", @@ -1212,9 +421,12 @@ "Blog", 10 ] - ] + ], + "name" : "022", + "id" : "022" }, { + "name" : "023", "data" : [ [ "Perl", @@ -1229,8 +441,7 @@ 12 ] ], - "id" : "023", - "name" : "023" + "id" : "023" }, { "id" : "024", @@ -1251,6 +462,8 @@ "name" : "024" }, { + "id" : "025", + "name" : "025", "data" : [ [ "Perl", @@ -1264,12 +477,9 @@ "Blog", 12 ] - ], - "id" : "025", - "n