From 4b2a8e9bce697d25bb4bc6ad12c1d680bc1eb0c6 Mon Sep 17 00:00:00 2001 From: Dave Jacoby Date: Mon, 11 Oct 2021 19:39:25 -0400 Subject: Revert "Merge branch 'master' of https://github.com/manwar/perlweeklychallenge-club" This reverts commit ff561e038f54883f733890eae88fc9b1bd92d8e4, reversing changes made to e91720d5c5c6b1c4bbe0b925dd686baaeec485a5. --- challenge-134/andinus/README | 71 +- challenge-134/andinus/README.org | 28 - challenge-134/andinus/blog-1.txt | 1 - challenge-134/andinus/raku/ch-1.raku | 3 - challenge-134/roger-bell-west/perl/ch-1.pl | 35 - challenge-134/roger-bell-west/perl/ch-2.pl | 56 - challenge-134/roger-bell-west/postscript/ch-2.ps | 96 -- challenge-134/roger-bell-west/python/ch-1.py | 33 - challenge-134/roger-bell-west/raku/ch-1.p6 | 30 - challenge-134/roger-bell-west/raku/ch-2.p6 | 49 - challenge-134/roger-bell-west/ruby/ch-1.rb | 37 - challenge-134/roger-bell-west/rust/ch-1.rs | 35 - challenge-134/ulrich-rieke/cpp/ch-1.cpp | 28 - challenge-134/ulrich-rieke/cpp/ch-2.cpp | 50 - challenge-134/ulrich-rieke/haskell/ch-1.hs | 12 - challenge-134/ulrich-rieke/perl/ch-1.pl | 31 - challenge-134/ulrich-rieke/raku/ch-1.raku | 22 - challenge-134/ulrich-rieke/raku/ch-2.raku | 34 - stats/pwc-current.json | 153 +- stats/pwc-language-breakdown-summary.json | 70 +- stats/pwc-language-breakdown.json | 1836 +++++++++++----------- stats/pwc-leaders.json | 712 ++++----- stats/pwc-summary-1-30.json | 50 +- stats/pwc-summary-121-150.json | 40 +- stats/pwc-summary-151-180.json | 108 +- stats/pwc-summary-181-210.json | 114 +- stats/pwc-summary-211-240.json | 30 +- stats/pwc-summary-241-270.json | 42 +- stats/pwc-summary-31-60.json | 98 +- stats/pwc-summary-61-90.json | 46 +- stats/pwc-summary-91-120.json | 42 +- stats/pwc-summary.json | 54 +- 32 files changed, 1725 insertions(+), 2321 deletions(-) delete mode 100644 challenge-134/andinus/README.org delete mode 100644 challenge-134/andinus/blog-1.txt delete mode 100644 challenge-134/andinus/raku/ch-1.raku delete mode 100755 challenge-134/roger-bell-west/perl/ch-1.pl delete mode 100755 challenge-134/roger-bell-west/perl/ch-2.pl delete mode 100644 challenge-134/roger-bell-west/postscript/ch-2.ps delete mode 100755 challenge-134/roger-bell-west/python/ch-1.py delete mode 100755 challenge-134/roger-bell-west/raku/ch-1.p6 delete mode 100755 challenge-134/roger-bell-west/raku/ch-2.p6 delete mode 100755 challenge-134/roger-bell-west/ruby/ch-1.rb delete mode 100755 challenge-134/roger-bell-west/rust/ch-1.rs delete mode 100644 challenge-134/ulrich-rieke/cpp/ch-1.cpp delete mode 100644 challenge-134/ulrich-rieke/cpp/ch-2.cpp delete mode 100644 challenge-134/ulrich-rieke/haskell/ch-1.hs delete mode 100644 challenge-134/ulrich-rieke/perl/ch-1.pl delete mode 100644 challenge-134/ulrich-rieke/raku/ch-1.raku delete mode 100644 challenge-134/ulrich-rieke/raku/ch-2.raku diff --git a/challenge-134/andinus/README b/challenge-134/andinus/README index 1d5171cfa8..93034423ed 100644 --- a/challenge-134/andinus/README +++ b/challenge-134/andinus/README @@ -1,40 +1,81 @@ ━━━━━━━━━━━━━━━ - CHALLENGE 134 + CHALLENGE 133 Andinus ━━━━━━━━━━━━━━━ - 2021-10-11 + 2021-10-04 -Task 1 - Pandigital Numbers -═══════════════════════════ +Task 1 - Integer Square Root +════════════════════════════ - Write a script to generate first 5 Pandigital Numbers in base 10. + You are given a positive integer `$N'. - As per the [wikipedia], it says: + Write a script to calculate the integer square root of the given + number. - A pandigital number is an integer that in a given base has - among its significant digits each digit used in the base - at least once. + Please avoid using built-in function. Find out more about it [here]. + + ┌──── + │ Input: $N = 10 + │ Output: 3 + │ + │ Input: $N = 27 + │ Output: 5 + │ + │ Input: $N = 85 + │ Output: 9 + │ + │ Input: $N = 101 + │ Output: 10 + └──── -[wikipedia] +[here] Raku ──── • Program: - Loop from 1023456789 (first Pandigital Number) and take if it contains - every digit in base 10. + Initial estimate is set to `$n +> 1', then we loop infinitely until + previous 2 estimates are equal. + + ┌──── + │ my $x = $n +> 1; + │ loop { + │ given ($x + ($n / $x)) / 2 { + │ last if $x == $_; + │ $x = $_; + │ } + │ } + │ put $x; + └──── + + +C +─ + + • Program: + + `argv' holds the input & `argc' holds the number of inputs. The input + should be a single integer so `argc' should be equal to 2. After + checking for that, we check if valid value was passed. + + Loop until previous 2 estimates are equal. ┌──── - │ put gather for 1023456789 .. ∞ { - │ .take if .comb>>.Int.Set ≡ (0 .. 9).Set; - │ }[^5] + │ double x = num >> 1; + │ for (;;) { + │ double x_next = (x + (num / x)) / 2; + │ if (x == x_next) + │ break; + │ x = x_next; + │ } + │ printf("%f\n", x); └──── diff --git a/challenge-134/andinus/README.org b/challenge-134/andinus/README.org deleted file mode 100644 index dddda91b7f..0000000000 --- a/challenge-134/andinus/README.org +++ /dev/null @@ -1,28 +0,0 @@ -#+title: Challenge 134 -#+date: 2021-10-11 -#+html_link_up: ../ -#+export_file_name: index -#+options: toc:nil -#+setupfile: ~/.emacs.d/org-templates/level-2.org - -* Task 1 - Pandigital Numbers - -Write a script to generate first 5 Pandigital Numbers in base 10. - -As per the [[https://en.wikipedia.org/wiki/Pandigital_number][wikipedia]], it says: - -#+begin_quote -A pandigital number is an integer that in a given base has among its -significant digits each digit used in the base at least once. -#+end_quote - -** Raku - -Loop from 1023456789 (first Pandigital Number) and take if it contains -every digit in base 10. - -#+begin_src raku -put gather for 1023456789 .. ∞ { - .take if .comb>>.Int.Set ≡ (0 .. 9).Set; -}[^5] -#+end_src diff --git a/challenge-134/andinus/blog-1.txt b/challenge-134/andinus/blog-1.txt deleted file mode 100644 index 559fff7b37..0000000000 --- a/challenge-134/andinus/blog-1.txt +++ /dev/null @@ -1 +0,0 @@ -https://andinus.unfla.me/pwc/challenge-134/ diff --git a/challenge-134/andinus/raku/ch-1.raku b/challenge-134/andinus/raku/ch-1.raku deleted file mode 100644 index 8380756076..0000000000 --- a/challenge-134/andinus/raku/ch-1.raku +++ /dev/null @@ -1,3 +0,0 @@ -put gather for 1023456789 .. ∞ { - .take if .comb>>.Int.Set ≡ (0 .. 9).Set; -}[^5] diff --git a/challenge-134/roger-bell-west/perl/ch-1.pl b/challenge-134/roger-bell-west/perl/ch-1.pl deleted file mode 100755 index c085cd1060..0000000000 --- a/challenge-134/roger-bell-west/perl/ch-1.pl +++ /dev/null @@ -1,35 +0,0 @@ -#! /usr/bin/perl - -use strict; -use warnings; - -use Test::More tests => 1; - -is_deeply(pandigital(10),[1023456789, 1023456798, 1023456879, 1023456897, 1023456978, 1023456987, 1023457689, 1023457698, 1023457869, 1023457896],'example 1'); - -use Algorithm::Permute; - -sub pandigital { - my $count=shift; - my $digits=1; - my $cc=1; - while ($cc<$count) { - $digits++; - $cc*=$digits; - if ($digits > 10) { - die "too large\n"; - } - } - my @template=(reverse (1,0,2..9)); - my @o; - my @lead=reverse splice @template,$digits; - my $p=Algorithm::Permute->new(\@template); - while (my @r=$p->next) { - push @o,join('',@r); - } - @o=sort @o; - splice @o,$count; - my $l=join('',@lead); - @o=map {"$l$_"} @o; - return \@o; -} diff --git a/challenge-134/roger-bell-west/perl/ch-2.pl b/challenge-134/roger-bell-west/perl/ch-2.pl deleted file mode 100755 index efb7c8bbe0..0000000000 --- a/challenge-134/roger-bell-west/perl/ch-2.pl +++ /dev/null @@ -1,56 +0,0 @@ -#! /usr/bin/perl - -use strict; -use warnings; - -distinctterms(3,3); - -distinctterms(3,5); - -use List::Util qw(max sum); - -sub distinctterms { - my $m=shift; - my $n=shift; - my @r; - push @r,['x',(1..$n)]; - my %terms; - foreach my $mm (1..$m) { - my @q=($mm); - foreach my $nn (1..$n) { - my $p=$mm*$nn; - push @q,$p; - $terms{$p}=1; - } - push @r,\@q; - } - my @cw=(0,0); - foreach my $rr (@r) { - foreach my $ci (0..$#{$rr}) { - my $wi=$ci==0?0:1; - $cw[$wi]=max($cw[$wi],length($rr->[$ci])); - } - } - foreach my $ri (0..$#r) { - my @k; - if ($ri==0) { - push @k,sprintf('%'.$cw[0].'s',$r[$ri][0]); - } else { - push @k,sprintf('%'.$cw[0].'d',$r[$ri][0]); - } - push @k,'|'; - foreach my $ci (1..$#{$r[$ri]}) { - push @k,sprintf('%'.$cw[1].'d',$r[$ri][$ci]); - } - my $l=join(' ',@k); - print "$l\n"; - if ($ri==0) { - $l =~ s/[^|]/-/g; - $l =~ s/\|/+/g; - print "$l\n"; - } - } - print "\n"; - print "Distinct Terms: ".join(', ',sort {$a <=> $b} keys %terms)."\n"; - print "Count: ".(scalar keys %terms)."\n"; -} diff --git a/challenge-134/roger-bell-west/postscript/ch-2.ps b/challenge-134/roger-bell-west/postscript/ch-2.ps deleted file mode 100644 index 5cd1cb56e6..0000000000 --- a/challenge-134/roger-bell-west/postscript/ch-2.ps +++ /dev/null @@ -1,96 +0,0 @@ -%!PS - -/bubblesort { - mark exch aload pop counttomark /idx - exch store - { - 0 1 idx 1 sub { - pop 2 copy gt { - exch - } if idx 1 roll - } for - idx 1 roll /idx idx 1 sub store - idx 0 eq { - exit - } if - } loop -] -} store - -/strconcat % (a) (b) -> (ab) -{ exch dup length - 2 index length add string - dup dup 4 2 roll copy length - 4 -1 roll putinterval -} bind def - -/strjoin % [(a) (b) (c)] (j) -> ajbjc -{ - /j exch def - dup 0 get /out exch def - /first true def - { - first { - /first false def - } { - out j strconcat - exch strconcat - /out exch def - } ifelse - } forall - out -} def - - /apush { % [a b] c -> [a b c] - /t exch def - [ exch aload pop t ] - } def - - /multable { - /x exch def - /y exch def - /dscale 25 def - gsave 20 800 translate - /Times-Roman findfont 12 scalefont setfont - x y mul dict /results exch def - 0 0 6 sub moveto (x) show - 0 - 1 1 y { - /yy exch def - 0 yy dscale neg mul 6 sub moveto yy (...) cvs show - } for - 1 1 x { - /xx exch def - xx dscale mul 0 6 sub moveto xx (...) cvs show - 1 1 y { - /yy exch def - /res xx yy mul def - results res 1 put - xx dscale mul yy dscale neg mul 6 sub moveto res (...) cvs show - } for - } for - 0 0.5 dscale mul neg moveto - x 0.5 add dscale mul 0.5 dscale mul neg lineto - 0.5 dscale mul 0 moveto - 0.5 dscale mul y 0.5 add dscale mul neg lineto - stroke - /ra 0 array def - results { - pop - ra exch apush /ra exch def - } forall - ra bubblesort - /rb 0 array def - { - (..) cvs rb exch dup length string cvs apush /rb exch store - } forall - rb (, ) strjoin - 0 y 2 add dscale mul neg moveto - show - 0 y 3 add dscale mul neg moveto - ra length (..) cvs show - grestore - showpage - } def - 3 3 multable - 3 5 multable diff --git a/challenge-134/roger-bell-west/python/ch-1.py b/challenge-134/roger-bell-west/python/ch-1.py deleted file mode 100755 index df16a2ea21..0000000000 --- a/challenge-134/roger-bell-west/python/ch-1.py +++ /dev/null @@ -1,33 +0,0 @@ -#! /usr/bin/python3 - -import unittest - -from itertools import permutations - -def pandigital(count): - digits=1 - cc=1 - while cc 10: - print("too large") - return [] - template=[*range(9,1,-1),0,1] - lead=template[digits:] - lead.reverse() - l="".join(str(i) for i in lead) - template=template[0:digits] - o=[] - for p in permutations(template): - o.append("".join(str(i) for i in p)) - o.sort() - o=o[0:count] - return [int(l+i) for i in o] - -class TestIsqrt(unittest.TestCase): - - def test_ex1(self): - self.assertEqual(pandigital(10),[1023456789, 1023456798, 1023456879, 1023456897, 1023456978, 1023456987, 1023457689, 1023457698, 1023457869, 1023457896],'example 1') - -unittest.main() diff --git a/challenge-134/roger-bell-west/raku/ch-1.p6 b/challenge-134/roger-bell-west/raku/ch-1.p6 deleted file mode 100755 index 99918b31ab..0000000000 --- a/challenge-134/roger-bell-west/raku/ch-1.p6 +++ /dev/null @@ -1,30 +0,0 @@ -#! /usr/bin/perl6 - -use Test; - -plan 1; - -is-deeply(pandigital(10),[1023456789, 1023456798, 1023456879, 1023456897, 1023456978, 1023456987, 1023457689, 1023457698, 1023457869, 1023457896],'example 1'); - -sub pandigital($count) { - my $digits=1; - my $cc=1; - while ($cc < $count) { - $digits++; - $cc*=$digits; - if ($digits > 10) { - die "too large\n"; - } - } - my @template=reverse (1,0,2,3,4,5,6,7,8,9); - my @o; - my @lead=reverse splice @template,$digits; - for @template.permutations -> @r { - push @o,join('',@r); - } - @o=sort @o; - splice @o,$count; - my $l=join('',@lead); - @o=map {"$l$_"+0},@o; - return @o; -} diff --git a/challenge-134/roger-bell-west/raku/ch-2.p6 b/challenge-134/roger-bell-west/raku/ch-2.p6 deleted file mode 100755 index 945ffd929d..0000000000 --- a/challenge-134/roger-bell-west/raku/ch-2.p6 +++ /dev/null @@ -1,49 +0,0 @@ -#! /usr/bin/perl6 - -distinctterms(3,3); - -distinctterms(3,5); - -sub distinctterms($m,$n) { - my @r; - push @r,[('x',1..$n).flat]; - my %terms; - for (1..$m) -> $mm { - my @q=($mm); - for (1..$n) -> $nn { - my $p=$mm*$nn; - push @q,$p; - %terms{$p}=1; - } - push @r,@q; - } - my @cw=(0,0); - for @r -> @rr { - for (0..@rr.end) -> $ci { - my $wi=$ci==0 ?? 0 !! 1; - @cw[$wi]=max(@cw[$wi],chars(@rr[$ci])); - } - } - for (0..@r.end) -> $ri { - my @k; - if ($ri==0) { - push @k,sprintf('%' ~ @cw[0] ~ 's',@r[$ri][0]); - } else { - push @k,sprintf('%' ~ @cw[0] ~ 'd',@r[$ri][0]); - } - push @k,'|'; - for (1..@r[$ri].end) -> $ci { - push @k,sprintf('%' ~ @cw[1] ~ 'd',@r[$ri][$ci]); - } - my $l=join(' ',@k); - say $l; - if ($ri==0) { - $l ~~ s:g/<-[|]>/-/; - $l ~~ s:g/\|/+/; - say $l; - } - } - say ""; - say "Distinct Terms: " ~ join(', ',sort { $^a <=> $^b },keys %terms); - say "Count: " ~ (%terms.keys.elems); -} diff --git a/challenge-134/roger-bell-west/ruby/ch-1.rb b/challenge-134/roger-bell-west/ruby/ch-1.rb deleted file mode 100755 index 9cf573469d..0000000000 --- a/challenge-134/roger-bell-west/ruby/ch-1.rb +++ /dev/null @@ -1,37 +0,0 @@ -#! /usr/bin/ruby - -def pandigital(count) - digits=1 - cc=1 - while cc 10 then - return [] - end - end - template=(2..9).to_a - template.unshift(0) - template.unshift(1) - template.reverse! - lead=template[digits..-1].reverse - template=template[0..digits-1] - o=[] - template.permutation do |r| - o.push(r.join) - end - o.sort! - o=o[0..count-1] - l=lead.join - return o.map{|j| (l+j).to_i} -end - -require 'test/unit' - -class TestIsqrt < Test::Unit::TestCase - - def test_ex1 - assert_equal([1023456789, 1023456798, 1023456879, 1023456897, 1023456978, 1023456987, 1023457689, 1023457698, 1023457869, 1023457896],pandigital(10)) - end - -end diff --git a/challenge-134/roger-bell-west/rust/ch-1.rs b/challenge-134/roger-bell-west/rust/ch-1.rs deleted file mode 100755 index d549b846d8..0000000000 --- a/challenge-134/roger-bell-west/rust/ch-1.rs +++ /dev/null @@ -1,35 +0,0 @@ -use permutator::Permutation; - -#[test] -fn test_ex1() { - assert_eq!(pandigital(10),vec![1023456789, 1023456798, 1023456879, 1023456897, 1023456978, 1023456987, 1023457689, 1023457698, 1023457869, 1023457896]); -} - -fn pandigital(count: u32) -> Vec { - let mut digits=1; - let mut cc=1; - while cc < count { - digits+=1; - cc *= digits; - if digits > 10 { - println!("too large"); - return vec![]; - } - } - let mut template=(2..=9).collect::>(); - template.reverse(); - template.push(0); - template.push(1); - let mut lead=vec![0;10-digits as usize]; - lead.clone_from_slice(&template[(digits as usize)..]); - lead.reverse(); - let l=lead.into_iter().map(|i| i.to_string()).collect::>().join(""); - template.resize(digits as usize,0); - let mut o=vec![]; - template.permutation().for_each(|p| { - o.push((&p).into_iter().map(|i| i.to_string()).collect::>().join("")); - }); - o.sort(); - o.resize(count as usize,"".to_string()); - o.into_iter().map(|i| (l.clone()+&i).parse().unwrap()).collect::>() -} diff --git a/challenge-134/ulrich-rieke/cpp/ch-1.cpp b/challenge-134/ulrich-rieke/cpp/ch-1.cpp deleted file mode 100644 index 51b1f95beb..0000000000 --- a/challenge-134/ulrich-rieke/cpp/ch-1.cpp +++ /dev/null @@ -1,28 +0,0 @@ -#include -#include -#include -#include - -bool isPanDigital( long num ) { - std::map digitCount ; - std::string numberstring( std::to_string( num ) ) ; - for ( int i = 0 ; i < numberstring.length( ) ; i++ ) - digitCount[ numberstring.substr( i , 1 )]++ ; - return digitCount.size( ) == 10 ; -} - -int main( ) { - std::string start { "1023456789" } ; - std::vector panDigitals ; - long current = std::stol( start ) ; - panDigitals.push_back( current ) ; - while ( panDigitals.size( ) != 5 ) { - current++ ; - if ( isPanDigital( current ) ) - panDigitals.push_back( current ) ; - } - for ( auto n : panDigitals ) - std::cout << n << " " ; - std::cout << std::endl ; - return 0 ; -} diff --git a/challenge-134/ulrich-rieke/cpp/ch-2.cpp b/challenge-134/ulrich-rieke/cpp/ch-2.cpp deleted file mode 100644 index 51cb0248a2..0000000000 --- a/challenge-134/ulrich-rieke/cpp/ch-2.cpp +++ /dev/null @@ -1,50 +0,0 @@ -#include -#include -#include -#include -#include -#include -#include - -int main( int argc , char * argv[ ] ) { - int m = std::atoi( argv[ 1 ] ) ; - int n = std::atoi( argv[ 2 ] ) ; - int num_maxwidth = std::to_string( m * n ).length( ) + 1 ; - int firstColWidth = std::to_string( m ).length( ) + 2 ; - std::cout << 'x' ; - std::cout.width( firstColWidth - 1 ) ; - std::cout << '|' ; - for ( int i = 1 ; i < n + 1 ; i++ ) { - std::cout.width( num_maxwidth ) ; - std::cout << i ; - } - std::cout << '\n' ; - for ( int i = 1 ; i < firstColWidth ; i++ ) - std::cout << '-' ; - std::cout << '+' ; - for ( int i = 0 ; i < num_maxwidth * n ; i++ ) - std::cout << '-' ; - std::cout << '\n' ; - std::set distinctTerms ; - for ( int i = 1 ; i < m + 1 ; i++ ) { - std::cout << i ; - int w = std::to_string( i ).length( ) ; - std::cout.width( firstColWidth - w ) ; - std::cout << '|' ; - for ( int j = 1 ; j < n + 1 ; j++ ) { - std::cout.width( num_maxwidth ) ; - std::cout << i * j ; - distinctTerms.insert( i * j ) ; - } - std::cout << '\n' ; - } - std::cout << std::endl ; - std::vector terms ( distinctTerms.begin( ) , distinctTerms.end( ) ) ; - std::sort( terms.begin( ) , terms.end( ) ) ; - std::cout << "Distinct Terms: " ; - std::copy( terms.begin( ) , terms.end( ) , std::ostream_iterator( - std::cout , " " )) ; - std::cout << '\n' ; - std::cout << "Count: " << terms.size( ) << std::endl ; - return 0 ; -} diff --git a/challenge-134/ulrich-rieke/haskell/ch-1.hs b/challenge-134/ulrich-rieke/haskell/ch-1.hs deleted file mode 100644 index 0fa1a20bc2..0000000000 --- a/challenge-134/ulrich-rieke/haskell/ch-1.hs +++ /dev/null @@ -1,12 +0,0 @@ -module Challenge134 - where -import qualified Data.Set as S - -isPandigital :: Integer -> Bool -isPandigital s = (S.size $ S.fromList $ show s ) == 10 - -solution :: [Integer] -solution = take 5 $ filter isPandigital [start , start + 1 ..] -where - start :: Integer - start = 1023456789 diff --git a/challenge-134/ulrich-rieke/perl/ch-1.pl b/challenge-134/ulrich-rieke/perl/ch-1.pl deleted file mode 100644 index d6945c190e..0000000000 --- a/challenge-134/ulrich-rieke/perl/ch-1.pl +++ /dev/null @@ -1,31 +0,0 @@ -#!/usr/bin/perl ; -use strict ; -use warnings ; -use feature 'say' ; -use Math::BigInt ; - -#the smallest pandigit 10-based number must begin with "10" , the rest of -#the other digits must follow in numerical order ; - -sub isPandigital { - my $number = shift ; - my %digitCount ; - my $numstring = $number->bstr( ) ; - for my $digit ( split ( // , $numstring ) ) { - $digitCount{ $digit }++ ; - } - return ( (scalar ( keys %digitCount )) == 10 ) ; -} - -my @panDigitals ; -my $start = Math::BigInt->new( "1023456789" ) ; -my $one = Math::BigInt->new( "1" ) ; -my $current = $start->copy( ) ; -push( @panDigitals , $start ) ; -while ( (scalar @panDigitals) != 5 ) { - $current = $current->badd( $one ) ; - if ( isPandigital( $current ) ) { - push ( @panDigitals , $current ) ; - } -} -say join( ", " , map { $_->bstr( ) } @panDigitals ) ; diff --git a/challenge-134/ulrich-rieke/raku/ch-1.raku b/challenge-134/ulrich-rieke/raku/ch-1.raku deleted file mode 100644 index a22d8c2587..0000000000 --- a/challenge-134/ulrich-rieke/raku/ch-1.raku +++ /dev/null @@ -1,22 +0,0 @@ -use v6 ; - -#we find the first pandigital at base 10 by concatenating 10 as the first -#2 digits with (2 .. 9 ) as the remaining digits in ascending order -#we then add figures consecutively - -sub isPandigital( Int $n is copy --> Bool ) { - my $numberstring = ~$n ; - return $numberstring.comb.Set.elems == 10 ; -} - -my @panDigitals ; -my $start = "10" ~ (2..9).join ; -@panDigitals.push( $start ) ; -my $current = +$start ; -while ( @panDigitals.elems != 5 ) { - repeat { - $current++ ; - } until ( isPandigital( $current )) ; - @panDigitals.push( $current ) ; -} -say @panDigitals.join(", ") ; diff --git a/challenge-134/ulrich-rieke/raku/ch-2.raku b/challenge-134/ulrich-rieke/raku/ch-2.raku deleted file mode 100644 index 440349486b..0000000000 --- a/challenge-134/ulrich-rieke/raku/ch-2.raku +++ /dev/null @@ -1,34 +0,0 @@ -use v6 ; - -subset Positive of Int where * > 0 ; -sub MAIN( Positive $m is copy , Positive $n is copy ) { - say " " ; - my @currentRow ; - my $maximumWidth = ($m * $n).Str.chars + 1 ; - my $maxFirstColumnWidth = $m.Str.chars + 1 ; - @currentRow.push( sprintf( "%-*s" , $maxFirstColumnWidth , "x" ) ) ; - @currentRow.push( "|" ) ; - for (1 .. $n) -> $i { - @currentRow.push( sprintf( "%*d", $maximumWidth, $i )) ; - } - @currentRow.join.say ; - print "-" x $maxFirstColumnWidth ; - print "+" ; - say "-" x ( $maximumWidth * $n ) ; - my @allProducts ; - @currentRow = ( ) ; - for (1 .. $m) -> $i { - @currentRow.push(sprintf("%-*s" , $maxFirstColumnWidth , "$i")) ; - @currentRow.push( "|" ) ; - for (1 .. $n) -> $j { - @currentRow.push( sprintf("%*d" , $maximumWidth, $i * $j )) ; - @allProducts.push( $i * $j ) ; - } - @currentRow.join.say ; - @currentRow = ( ) ; - } - my $distinctTerms = @allProducts.Set ; - say " " ; - say "Distinct Terms: " ~ $distinctTerms.keys.sort.join(", ") ; - say "Count: {$distinctTerms.elems}" ; -} diff --git a/stats/pwc-current.json b/stats/pwc-current.json index 30bea94dae..a42e7c3c72 100644 --- a/stats/pwc-current.json +++ b/stats/pwc-current.json @@ -1,29 +1,57 @@ { "plotOptions" : { "series" : { + "borderWidth" : 0, "dataLabels" : { "format" : "{point.y}", "enabled" : 1 - }, - "borderWidth" : 0 + } + } + }, + "series" : [ + { + "data" : [ + { + "y" : 4, + "drilldown" : "Luca Ferrari", + "name" : "Luca Ferrari" + }, + { + "drilldown" : "Mark Anderson", + "y" : 2, + "name" : "Mark Anderson" + }, + { + "y" : 2, + "drilldown" : "Simon Proctor", + "name" : "Simon Proctor" + } + ], + "name" : "The Weekly Challenge - 134", + "colorByPoint" : 1 + } + ], + "legend" : { + "enabled" : 0 + }, + "chart" : { + "type" : "column" + }, + "title" : { + "text" : "The Weekly Challenge - 134" + }, + "tooltip" : { + "followPointer" : 1, + "headerFormat" : "{series.name}
", + "pointFormat" : "{point.name}: {point.y:f}
" + }, + "yAxis" : { + "title" : { + "text" : "Total Solutions" } }, "drilldown" : { "series" : [ - { - "id" : "Andinus", - "name" : "Andinus", - "data" : [ - [ - "Raku", - 1 - ], - [ - "Blog", - 1 - ] - ] - }, { "id" : "Luca Ferrari", "name" : "Luca Ferrari", @@ -39,114 +67,29 @@ ] }, { + "id" : "Mark Anderson", "name" : "Mark Anderson", "data" : [ [ "Raku", 2 ] - ], - "id" : "Mark Anderson" - }, - { - "name" : "Roger Bell_West", - "data" : [ - [ - "Perl", - 2 - ], - [ - "Raku", - 2 - ] - ], - "id" : "Roger Bell_West" + ] }, { - "data" : [ - [ - "Raku", - 2 - ] - ], "name" : "Simon Proctor", - "id" : "Simon Proctor" - }, - { - "name" : "Ulrich Rieke", "data" : [ - [ - "Perl", - 1 - ], [ "Raku", 2 ] ], - "id" : "Ulrich Rieke" + "id" : "Simon Proctor" } ] }, - "chart" : { - "type" : "column" - }, - "tooltip" : { - "pointFormat" : "{point.name}: {point.y:f}
", - "followPointer" : 1, - "headerFormat" : "{series.name}
" - }, - "title" : { - "text" : "The Weekly Challenge - 134" - }, "subtitle" : { - "text" : "[Champions: 6] Last updated at 2021-10-11 21:44:07 GMT" - }, - "yAxis" : { - "title" : { - "text" : "Total Solutions" - } - }, - "series" : [ - { - "name" : "The Weekly Challenge - 134", - "colorByPoint" : 1, - "data" : [ - { - "drilldown" : "Andinus", - "name" : "Andinus", - "y" : 2 - }, - { - "drilldown" : "Luca Ferrari", - "name" : "Luca Ferrari", - "y" : 4 - }, - { - "name" : "Mark Anderson", - "drilldown" : "Mark Anderson", - "y" : 2 - }, - { - "y" : 4, - "drilldown" : "Roger Bell_West", - "name" : "Roger Bell_West" - }, - { - "y" : 2, - "name" : "Simon Proctor", - "drilldown" : "Simon Proctor" - }, - { - "drilldown" : "Ulrich Rieke", - "name" : "Ulrich Rieke", - "y" : 3 - } - ] - } - ], - "legend" : { - "enabled" : 0 + "text" : "[Champions: 3] Last updated at 2021-10-11 14:37:25 GMT" }, "xAxis" : { "type" : "category" diff --git a/stats/pwc-language-breakdown-summary.json b/stats/pwc-language-breakdown-summary.json index 01b0447297..e9877d1ede 100644 --- a/stats/pwc-language-breakdown-summary.json +++ b/stats/pwc-language-breakdown-summary.json @@ -1,63 +1,63 @@ { - "tooltip" : { - "pointFormat" : "{point.y:.0f}" - }, - "title" : { - "text" : "The Weekly Challenge Contributions [2019 - 2021]" - }, - "subtitle" : { - "text" : "Last updated at 2021-10-11 21:44:07 GMT" - }, - "chart" : { - "type" : "column" - }, "legend" : { "enabled" : "false" }, - "xAxis" : { - "type" : "category", - "labels" : { - "style" : { - "fontSize" : "13px", - "fontFamily" : "Verdana, sans-serif" - } - } - }, - "yAxis" : { - "title" : { - "text" : null - }, - "min" : 0 - }, "series" : [ { "data" : [ [ "Blog", - 1930 + 1929 ], [ "Perl", - 6350 + 6347 ], [ "Raku", - 3899 + 3894 ] ], "name" : "Contributions", "dataLabels" : { + "enabled" : "true", "style" : { "fontFamily" : "Verdana, sans-serif", "fontSize" : "13px" }, + "rotation" : -90, "align" : "right", - "enabled" : "true", "color" : "#FFFFFF", - "rotation" : -90, - "y" : 10, - "format" : "{point.y:.0f}" + "format" : "{point.y:.0f}", + "y" : 10 } } - ] + ], + "yAxis" : { + "title" : { + "text" : null + }, + "min" : 0 + }, + "subtitle" : { + "text" : "Last updated at 2021-10-11 14:37:25 GMT" + }, + "xAxis" : { + "labels" : { + "style" : { + "fontSize" : "13px", + "fontFamily" : "Verdana, sans-serif" + } + }, + "type" : "category" + }, + "tooltip" : { + "pointFormat" : "{point.y:.0f}" + }, + "title" : { + "text" : "The Weekly Challenge Contributions [2019 - 2021]" + }, + "chart" : { + "type" : "column" + } } diff --git a/stats/pwc-language-breakdown.json b/stats/pwc-language-breakdown.json index 50df2776bb..54397e7a64 100644 --- a/stats/pwc-language-breakdown.json +++ b/stats/pwc-language-breakdown.json @@ -1,698 +1,18 @@ { - "series" : [ - { - "data" : [ - { - "y" : 161, - "drilldown" : "001", - "name" : "#001" - }, - { - "y" : 125, - "drilldown" : "002", - "name" : "#002" - }, - { - "y" : 81, - "name" : "#003", - "drilldown" : "003" - }, - { - "name" : "#004", - "drilldown" : "004", - "y" : 99 - }, - { - "y" : 78, - "name" : "#005", - "drilldown" : "005" - }, - { - "drilldown" : "006", - "name" : "#006", - "y" : 58 - }, - { - "drilldown" : "007", - "name" : "#007", - "y" : 64 - }, - { - "name" : "#008", - "drilldown" : "008", - "y" : 78 - }, - { - "y" : 76, - "drilldown" : "009", - "name" : "#009" - }, - { - "y" : 65, - "drilldown" : "010", - "name" : "#010" - }, - { - "drilldown" : "011", - "name" : "#011", - "y" : 85 - }, - { - "drilldown" : "012", - "name" : "#012", - "y" : 89 - }, - { - "drilldown" : "013", - "name" : "#013", - "y" : 85 - }, - { - "drilldown" : "014", - "name" : "#014", - "y" : 101 - }, - { - "name" : "#015", - "drilldown" : "015", - "y" : 99 - }, - { - "name" : "#016", - "drilldown" : "016", - "y" : 71 - }, - { - "y" : 84, - "drilldown" : "017", - "name" : "#017" - }, - { - "y" : 81, - "name" : "#018", - "drilldown" : "018" - }, - { - "y" : 103, - "name" : "#019", - "drilldown" : "019" - }, - { - "name" : "#020", - "drilldown" : "020", - "y" : 101 - }, - { - "drilldown" : "021", - "name" : "#021", - "y" : 72 - }, - { - "y" : 68, - "name" : "#022", - "drilldown" : "022" - }, - { - "drilldown" : "023", - "name" : "#023", - "y" : 97 - }, - { - "y" : 75, - "drilldown" : "024", - "name" : "#024" - }, - { - "name" : "#025", - "drilldown" : "025", - "y" : 59 - }, - { - "name" : "#026", - "drilldown" : "026", - "y" : 74 - }, - { - "drilldown" : "027", - "name" : "#027", - "y" : 60 - }, - { - "drilldown" : "028", - "name" : "#028", - "y" : 80 - }, - { - "y" : 79, - "name" : "#029", - "drilldown" : "029" - }, - { - "drilldown" : "030", - "name" : "#030", - "y" : 117 - }, - { - "y" : 89, - "name" : "#031", - "drilldown" : "031" - }, - { - "y" : 94, - "name" : "#032", - "drilldown" : "032" - }, - { - "y" : 110, - "name" : "#033", - "drilldown" : "033" - }, - { - "y" : 64, - "name" : "#034", - "drilldown" : "034" - }, - { - "name" : "#035", - "drilldown" : "035", - "y" : 64 - }, - { - "y" : 68, - "name" : "#036", - "drilldown" : "036" - }, - { - "y" : 67, - "drilldown" : "037", - "name" : "#037" - }, - { - "y" : 68, - "name" : "#038", - "drilldown" : "038" - }, - { - "name" : "#039", - "drilldown" : "039", - "y" : 62 - }, - { - "y" : 73, - "name" : "#040", - "drilldown" : "040" - }, - { - "y" : 76, - "name" : "#041", - "drilldown" : "041" - }, - { - "drilldown" : "042", - "name" : "#042", - "y" : 92 - }, - { - "y" : 68, - "name" : "#043", - "drilldown" : "043" - }, - { - "name" : "#044", - "drilldown" : "044", - "y" : 85 - }, - { - "y" : 96, - "name" : "#045", - "drilldown" : "045" - }, - { - "drilldown" : "046", - "name" : "#046", - "y" : 87 - }, - { - "y" : 84, - "drilldown" : "047", - "name" : "#047" - }, - { - "drilldown" : "048", - "name" : "#048", - "y" : 108 - }, - { - "y" : 89, - "name" : "#049", - "drilldown" : "049" - }, - { - "drilldown" : "050", - "name" : "#050", - "y" : 98 - }, - { - "y" : 89, - "drilldown" : "051", - "name" : "#051" - }, - { - "name" : "#052", - "drilldown" : "052", - "y" : 91 - }, - { - "drilldown" : "053", - "name" : "#053", - "y" : 101 - }, - { - "name" : "#054", - "drilldown" : "054", - "y" : 103 - }, - { - "y" : 88, - "name" : "#055", - "drilldown" : "055" - }, - { - "name" : "#056", - "drilldown" : "056", - "y" : 95 - }, - { - "y" : 80, - "name" : "#057", - "drilldown" : "057" - }, - { - "name" : "#058", - "drilldown" : "058", - "y" : 69 - }, - { - "y" : 89, - "name" : "#059", - "drilldown" : "059" - }, - { - "drilldown" : "060", - "name" : "#060", - "y" : 85 - }, - { - "y" : 81, - "name" : "#061", - "drilldown" : "061" - }, - { - "drilldown" : "062", - "name" : "#062", - "y" : 58 - }, - { - "y" : 89, - "drilldown" : "063", - "name" : "#063" - }, - { - "name" : "#064", - "drilldown" : "064", - "y" : 80 - }, - { - "drilldown" : "065", - "name" : "#065", - "y" : 73 - }, - { - "y" : 84, - "drilldown" : "066", - "name" : "#066" - }, - { - "y" : 90, - "name" : "#067", - "drilldown" : "067" - }, - { - "y" : 75, - "drilldown" : "068", - "name" : "#068" - }, - { - "drilldown" : "069", - "name" : "#069", - "y" : 83 - }, - { - "y" : 93, - "name" : "#070", - "drilldown" : "070" - }, - { - "y" : 78, - "name" : "#071", - "drilldown" : "071" - }, - { - "y" : 112, - "drilldown" : "072", - "name" : "#072" - }, - { - "name" : "#073", - "drilldown" : "073", - "y" : 110 - }, - { - "drilldown" : "074", - "name" : "#074", - "y" : 115 - }, - { - "y" : 115, - "drilldown" : "075", - "name" : "#075" - }, - { - "y" : 99, - "name" : "#076", - "drilldown" : "076" - }, - { - "y" : 98, - "drilldown" : "077", - "name" : "#077" - }, - { - "y" : 127, - "drilldown" : "078", - "name" : "#078" - }, - { - "y" : 122, - "name" : "#079", - "drilldown" : "079" - }, - { - "y" : 127, - "name" : "#080", - "drilldown" : "080" - }, - { - "y" : 114, - "drilldown" : "081", - "name" : "#081" - }, - { - "y" : 114, - "drilldown" : "082", - "name" : "#082" - }, - { - "drilldown" : "083", - "name" : "#083", - "y" : 127 - }, - { - "y" : 119, - "drilldown" : "084", - "name" : "#084" - }, - { - "y" : 114, - "name" : "#085", - "drilldown" : "085" - }, - { - "drilldown" : "086", - "name" : "#086", - "y" : 104 - }, - { - "y" : 101, - "name" : "#087", - "drilldown" : "087" - }, - { - "y" : 121, - "name" : "#088", - "drilldown" : "088" - }, - { - "name" : "#089", - "drilldown" : "089", - "y" : 113 - }, - { - "name" : "#090", - "drilldown" : "090", - "y" : 113 - }, - { - "name" : "#091", - "drilldown" : "091", - "y" : 108 - }, - { - "drilldown" : "092", - "name" : "#092", - "y" : 98 - }, - { - "name" : "#093", - "drilldown" : "093", - "y" : 87 - }, - { - "drilldown" : "094", - "name" : "#094", - "y" : 87 - }, - { - "y" : 108, - "drilldown" : "095", - "name" : "#095" - }, - { - "y" : 108, - "drilldown" : "096", - "name" : "#096" - }, - { - "y" : 111, - "drilldown" : "097", - "name" : "#097" - }, - { - "y" : 108, - "drilldown" : "098", - "name" : "#098" - }, - { - "y" : 97, - "name" : "#099", - "drilldown" : "099" - }, - { - "name" : "#100", - "drilldown" : "100", - "y" : 120 - }, - { - "y" : 83, - "drilldown" : "101", - "name" : "#101" - }, - { - "name" : "#102", - "drilldown" : "102", - "y" : 90 - }, - { - "y" : 79, - "drilldown" : "103", - "name" : "#103" - }, - { - "y" : 85, - "name" : "#104", - "drilldown" : "104" - }, - { - "y" : 75, - "name" : "#105", - "drilldown" : "105" - }, - { - "y" : 97, - "drilldown" : "106", - "name" : "#106" - }, - { - "drilldown" : "107", - "name" : "#107", - "y" : 90 - }, - { - "drilldown" : "108", - "name" : "#108", - "y" : 94 - }, - { - "drilldown" : "109", - "name" : "#109", - "y" : 107 - }, - { - "y" : 108, - "drilldown" : "110", - "name" : "#110" - }, - { - "drilldown" : "111", - "name" : "#111", - "y" : 91 - }, - { - "name" : "#112", - "drilldown" : "112", - "y" : 92 - }, - { - "drilldown" : "113", - "name" : "#113", - "y" : 92 - }, - { - "y" : 108, - "drilldown" : "114", - "name" : "#114" - }, - { - "y" : 96, - "name" : "#115", - "drilldown" : "115" - }, - { - "y" : 95, - "name" : "#116", - "drilldown" : "116" - }, - { - "drilldown" : "117", - "name" : "#117", - "y" : 97 - }, - { - "drilldown" : "118", - "name" : "#118", - "y" : 81 - }, - { - "y" : 123, - "name" : "#119", - "drilldown" : "119" - }, - { - "name" : "#120", - "drilldown" : "120", - "y" : 114 - }, - { - "y" : 90, - "name" : "#121", - "drilldown" : "121" - }, - { - "y" : 106, - "name" : "#122", - "drilldown" : "122" - }, - { - "y" : 101, - "name" : "#123", - "drilldown" : "123" - }, - { - "y" : 81, - "drilldown" : "124", - "name" : "#124" - }, - { - "y" : 61, - "drilldown" : "125", - "name" : "#125" - }, - { - "y" : 104, - "drilldown" : "126", - "name" : "#126" - }, - { - "y" : 108, - "name" : "#127", - "drilldown" : "127" - }, - { - "y" : 67, - "name" : "#128", - "drilldown" : "128" - }, - { - "y" : 48, - "name" : "#129", - "drilldown" : "129" - }, - { - "y" : 71, - "drilldown" : "130", - "name" : "#130" - }, - { - "y" : 89, - "name" : "#131", - "drilldown" : "131" - }, - { - "drilldown" : "132", - "name" : "#132", - "y" : 70 - }, - { - "y" : 91, - "drilldown" : "133", - "name" : "#133" - }, - { - "drilldown" : "134", - "name" : "#134", - "y" : 17 - } - ], - "colorByPoint" : "true", - "name" : "The Weekly Challenge Languages" - } - ], - "yAxis" : { - "title" : { - "text" : "Total Solutions" - } + "tooltip" : { + "followPointer" : "true", + "headerFormat" : "", + "pointFormat" : "Challenge {point.name}: {point.y:f}
" }, - "xAxis" : { - "type" : "category" + "chart" : { + "type" : "column" }, - "legend" : { - "enabled" : "false" + "title" : { + "text" : "The Weekly Challenge Language" }, "drilldown" : { "series" : [ { - "id" : "001", - "name" : "001", "data" : [ [ "Perl", @@ -706,11 +26,12 @@ "Blog", 11 ] - ] + ], + "name" : "001", + "id" : "001" }, { "id" : "002", - "name" : "002", "data" : [ [ "Perl", @@ -724,10 +45,12 @@ "Blog", 10 ] - ] + ], + "name" : "002" }, { "id" : "003", + "name" : "003", "data" : [ [ "Perl", @@ -741,11 +64,11 @@ "Blog", 9 ] - ], - "name" : "003" + ] }, { "id" : "004", + "name" : "004", "data" : [ [ "Perl", @@ -759,10 +82,10 @@ "Blog", 10 ] - ], - "name" : "004" + ] }, { + "id" : "005", "data" : [ [ "Perl", @@ -777,11 +100,11 @@ 12 ] ], - "name" : "005", - "id" : "005" + "name" : "005" }, { "id" : "006", + "name" : "006", "data" : [ [ "Perl", @@ -795,8 +118,7 @@ "Blog", 7 ] - ], - "name" : "006" + ] }, { "data" : [ @@ -817,7 +139,6 @@ "id" : "007" }, { - "name" : "008", "data" : [ [ "Perl", @@ -832,9 +153,11 @@ 12 ] ], + "name" : "008", "id" : "008" }, { + "id" : "009", "data" : [ [ "Perl", @@ -849,10 +172,11 @@ 13 ] ], - "name" : "009", - "id" : "009" + "name" : "009" }, { + "id" : "010", + "name" : "010", "data" : [ [ "Perl", @@ -866,13 +190,10 @@ "Blog", 11 ] - ], - "name" : "010", - "id" : "010" + ] }, { "id" : "011", - "name" : "011", "data" : [ [ "Perl", @@ -886,11 +207,11 @@ "Blog", 10 ] - ] + ], + "name" : "011" }, { "id" : "012", - "name" : "012", "data" : [ [ "Perl", @@ -904,7 +225,8 @@ "Blog", 11 ] - ] + ], + "name" : "012" }, { "data" : [ @@ -997,7 +319,7 @@ "id" : "017" }, { - "id" : "018", + "name" : "018", "data" : [ [ "Perl", @@ -1012,10 +334,9 @@ 14 ] ], - "name" : "018" + "id" : "018" }, { - "name" : "019", "data" : [ [ "Perl", @@ -1030,11 +351,10 @@ 13 ] ], + "name" : "019", "id" : "019" }, { - "id" : "020", - "name" : "020", "data" : [ [ "Perl", @@ -1048,9 +368,12 @@ "Blog", 13 ] - ] + ], + "name" : "020", + "id" : "020" }, { + "id" : "021", "name" : "021", "data" : [ [ @@ -1065,10 +388,10 @@ "Blog", 10 ] - ], - "id" : "021" + ] }, { + "id" : "022", "name" : "022", "data" : [ [ @@ -1083,8 +406,7 @@ "Blog", 10 ] - ], - "id" : "022" + ] }, { "id" : "023", @@ -1106,6 +428,7 @@ }, { "id" : "024", + "name" : "024", "data" : [ [ "Perl", @@ -1119,10 +442,10 @@ "Blog", 11 ] - ], - "name" : "024" + ] }, { + "id" : "025", "name" : "025", "data" : [ [ @@ -1137,11 +460,10 @@ "Blog", 12 ] - ], - "id" : "025" + ] }, { - "name" : "026", + "id" : "026", "data" : [ [ "Perl", @@ -1156,10 +478,11 @@ 10 ] ], - "id" : "026" + "name" : "026" }, { "id" : "027", + "name" : "027", "data" : [ [ "Perl", @@ -1173,8 +496,7 @@ "Blog", 9 ] - ], - "name" : "027" + ] }, { "id" : "028", @@ -1231,7 +553,7 @@ "id" : "030" }, { - "id" : "031", + "name" : "031", "data" : [ [ "Perl", @@ -1246,9 +568,11 @@ 9 ] ], - "name" : "031" + "id" : "031" }, { + "id" : "032", + "name" : "032", "data" : [ [ "Perl", @@ -1262,12 +586,11 @@ "Blog", 10 ] - ], - "name" : "032", - "id" : "032" + ] }, { "id" : "033", + "name" : "033", "data" : [ [ "Perl", @@ -1281,10 +604,10 @@ "Blog", 10 ] - ], - "name" : "033" + ] }, { + "id" : "034", "data" : [ [ "Perl", @@ -1299,11 +622,11 @@ 11 ] ], - "name" : "034", - "id" : "034" + "name" : "034" }, { "id" : "035", + "name" : "035", "data" : [ [ "Perl", @@ -1317,8 +640,7 @@ "Blog", 9 ] - ], - "name" : "035" + ] }, { "id" : "036", @@ -1339,6 +661,7 @@ "name" : "036" }, { + "id" : "037", "name" : "037", "data" : [ [ @@ -1353,10 +676,10 @@ "Blog", 9 ] - ], - "id" : "037" + ] }, { + "id" : "038", "data" : [ [ "Perl", @@ -1371,8 +694,7 @@ 12 ] ], - "name" : "038", - "id" : "038" + "name" : "038" }, { "id" : "039", @@ -1447,7 +769,7 @@ "name" : "042" }, { - "id" : "043", + "name" : "043", "data" : [ [ "Perl", @@ -1462,10 +784,10 @@ 11 ] ], - "name" : "043" + "id" : "043" }, { - "name" : "044", + "id" : "044", "data" : [ [ "Perl", @@ -1480,11 +802,9 @@ 11 ] ], - "id" : "044" + "name" : "044" }, { - "id" : "045", - "name" : "045", "data" : [ [ "Perl", @@ -1498,10 +818,13 @@ "Blog", 11 ] - ] + ], + "name" : "045", + "id" : "045" }, { "id" : "046", + "name" : "046", "data" : [ [ "Perl", @@ -1515,12 +838,10 @@ "Blog", 10 ] - ], - "name" : "046" + ] }, { "id" : "047", - "name" : "047", "data" : [ [ "Perl", @@ -1534,10 +855,12 @@ "Blog", 10 ] - ] + ], + "name" : "047" }, { "id" : "048", + "name" : "048", "data" : [ [ "Perl", @@ -1551,11 +874,9 @@ "Blog", 12 ] - ], - "name" : "048" + ] }, { - "id" : "049", "data" : [ [ "Perl", @@ -1570,11 +891,10 @@ 12 ] ], - "name" : "049" + "name" : "049", + "id" : "049" }, { - "id" : "050", - "name" : "050", "data" : [ [ "Perl", @@ -1588,9 +908,12 @@ "Blog", 12 ] - ] + ], + "name" : "050", + "id" : "050" }, { + "id" : "051", "name" : "051", "data" : [ [ @@ -1605,11 +928,9 @@ "Blog", 11 ] - ], - "id" : "051" + ] }, { - "id" : "052", "name" : "052", "data" : [ [ @@ -1624,10 +945,10 @@ "Blog", 14 ] - ] + ], + "id" : "052" }, { - "name" : "053", "data" : [ [ "Perl", @@ -1642,9 +963,11 @@ 15 ] ], + "name" : "053", "id" : "053" }, { + "name" : "054", "data" : [ [ "Perl", @@ -1659,10 +982,10 @@ 18 ] ], - "name" : "054", "id" : "054" }, { + "name" : "055", "data" : [ [ "Perl", @@ -1677,11 +1000,10 @@ 14 ] ], - "name" : "055", "id" : "055" }, { - "name" : "056", + "id" : "056", "data" : [ [ "Perl", @@ -1696,9 +1018,11 @@ 16 ] ], - "id" : "056" + "name" : "056" }, { + "id" : "057", + "name" : "057", "data" : [ [ "Perl", @@ -1712,12 +1036,11 @@ "Blog", 15 ] - ], - "name" : "057", - "id" : "057" + ] }, { "id" : "058", + "name" : "058", "data" : [ [ "Perl", @@ -1731,11 +1054,11 @@ "Blog", 13 ] - ], - "name" : "058" + ] }, { "id" : "059", + "name" : "059", "data" : [ [ "Perl", @@ -1749,10 +1072,10 @@ "Blog", 16 ] - ], - "name" : "059" + ] }, { + "id" : "060", "name" : "060", "data" : [ [ @@ -1767,8 +1090,7 @@ "Blog", 16 ] - ], - "id" : "060" + ] }, { "name" : "061", @@ -1789,8 +1111,6 @@ "id" : "061" }, { - "id" : "062", - "name" : "062", "data" : [ [ "Perl", @@ -1804,10 +1124,11 @@ "Blog", 11 ] - ] + ], + "name" : "062", + "id" : "062" }, { - "id" : "063", "data" : [ [ "Perl", @@ -1822,9 +1143,11 @@ 13 ] ], - "name" : "063" + "name" : "063", + "id" : "063" }, { + "id" : "064", "name" : "064", "data" : [ [ @@ -1839,11 +1162,9 @@ "Blog", 16 ] - ], - "id" : "064" + ] }, { - "id" : "065", "data" : [ [ "Perl", @@ -1858,11 +1179,10 @@ 15 ] ], - "name" : "065" + "name" : "065", + "id" : "065" }, { - "id" : "066", - "name" : "066", "data" : [ [ "Perl", @@ -1876,10 +1196,11 @@ "Blog", 14 ] - ] + ], + "name" : "066", + "id" : "066" }, { - "id" : "067", "name" : "067", "data" : [ [ @@ -1894,10 +1215,10 @@ "Blog", 18