The Weekly Challenge - 200

Monday, Jan 16, 2023| Tags: Perl, Raku

TABLE OF CONTENTS


01. HEADLINES

02. SPONSOR

03. RECAP

04. PERL REVIEW

05. RAKU REVIEW

06. CHART

07. NEW MEMBERS

08. GUESTS

09. TASK #1: Arithmetic Slices

10. TASK #2: Seven Segment 200


HEADLINES


Welcome to the Week #200 of The Weekly Challenge.

Ryan Thompson, our in-house Perl and Raku reviewer came up with fun task to celebrate the 200th week of the weekly challenge. I am sure you will find it fun to work on it. I am looking forward to the interesting solutions and discussions around it.

Thanks to everyone who sent me kind messages, it means a lot.

I am trying my best to get back on track but still struggling. The best part is, I am not giving up for now. Wish me luck.

Today, we are giving away Coupon #23 to E. Choroba for the book, Learning Perl Exercises by brian d foy. I will share the details with you in a separate email.

PAST WINNERS

  S. No.    Name S. No.  Name
1.  Cheok-Yin Fung 2.  W. Luis Mochan
3.  Robert DiCicco 4.  Kueppo Wesley
5.  Solathian 6.  Dario Mazzeo
7.  Peter Campbell Smith   8.  Kjetil Skotheim
9.  Neils van Dijke 10.  Laurent Rosenfeld  
11.  Duncan C. White 12.  Ali Moradi
13.  Jorg Sommrey 14.  James Smith
15.  Alexander Pankoff 16.  Simon Green
17.  Robbie Hatley 18.  Bob Lied
19.  Athanasius 20.  David Ferrone
21.  Thomas Kohler 22.  Adam Russell
23. 24.
25. 26.
27. 28.
29. 30.
31. 32.
33. 34.
35. 36.
37. 38.
39. 40.
41. 42.
43. 44.
45. 46.
47. 48.
49. 50.

Thanks to Jaldhar H. Vyas, we are now back on track with regard to reaching milestones every week as you can see below. Thank you Team PWC.

  Week      Perl       Raku       Blog   
   184       57       31       17   
   185       61       35       19   
   186       58       33       20   
   187       51       34       20   
   188       63       36       16   
   189       62       35       18   
   190       55       32       23   
   191       56       38       21   
   192       59       41       23   
   193       55       31       22   
   194       58       32       19   
   195       58       29       19   
   196       51       29       20   
   197       49       31       20   
   198       54       37       23   
   199       52       32       22   

I would like to thank every guest contributors for making it special every week. Last week we received 47 guest contributions in 19 languages.


TOP 10 Guest Languages


Last week C and C++ swapped positions, other than everybody is holding the position.

Do you see your favourite language in the Top 10? If not then why not contribute regularly and make it to the top.

 1. Python  (1279)
 2. Haskell (525)
 3. Ruby    (449)
 4. Lua     (435)
 5. C       (311)
 6. C++     (311)
 7. Rust    (296)
 8. BQN     (267)
 9. Go      (234)
10. Java    (215)

Blogs with Creative Title


1. Multiple Goods by Adam Russell.

2. Twice as Good by Arne Sommer.

3. Not a Bad Couple… And There’s Always Room for One More, Baby by Colin Crain.

4. For The Good by Dave Jacoby.

5. Nested Loops Everywhere! by Luca Ferrari.

6. All good things by Peter Campbell Smith.

7. Good N-lets by Roger Bell_West.

8. It’s all good by Simon Green.


GitHub Repository Stats


1. Commits: 30,227 (+118)

2. Pull Requests: 7,413 (+40)

3. Contributors: 215

4. Fork: 274 (+1)

5. Stars: 150



Our solo sponsor Pete Sergeant has been a great support to keep us motivated. We are lucky that he agreed to continue the journey with us in the year 2023. I would like to personally thank Pete and his entire team for their generosity. It would be great if we could add few more to sponsor the prize money so that we could go back and declare weekly champions as we have done in the past. I hope and wish this will become possible in 2023. The amount doesn’t have to be huge. However, it would be nice to show off bunch of supporters. If an organisation comes forward and supports us then that would be the ultimate achievement.


RECAP


Quick recap of The Weekly Challenge - 199 by Mohammad S Anwar.


PERL REVIEW


If you missed any past reviews then please check out the collection.


RAKU REVIEW


If you missed any past reviews then please check out the collection.


CHART


Please take a look at the charts showing interesting data.

I would like to THANK every member of the team for their valuable suggestions. Please do share your experience with us.


NEW MEMBERS


Please find out How to contribute?, if you have any doubts.

Please try the excellent tool EZPWC created by respected member Saif Ahmed of Team PWC.


GUESTS


Please check out the guest contributions for the Week #199.

Please find past solutions by respected guests. Please share your creative solutions in other languages.


Task 1: Arithmetic Slices

Submitted by: Mohammad S Anwar

You are given an array of integers.

Write a script to find out all Arithmetic Slices for the given array of integers.

An integer array is called arithmetic if it has at least 3 elements and the differences between any three consecutive elements are the same.


Example 1

Input: @array = (1,2,3,4)
Output: (1,2,3), (2,3,4), (1,2,3,4)

Example 2

Input: @array = (2)
Output: () as no slice found.

Task 2: Seven Segment 200

Submitted by: Ryan J Thompson

A seven segment display is an electronic component, usually used to display digits. The segments are labeled 'a' through 'g' as shown:


Seven Segment


The encoding of each digit can thus be represented compactly as a truth table:

my @truth = qw<abcdef bc abdeg abcdg bcfg acdfg acdefg abc abcdefg abcfg>;

For example, $truth[1] = ‘bc’. The digit 1 would have segments ‘b’ and ‘c’ enabled.

Write a program that accepts any decimal number and draws that number as a horizontal sequence of ASCII seven segment displays, similar to the following:


-------  -------  -------
      |  |     |  |     |
      |  |     |  |     |
-------
|        |     |  |     |
|        |     |  |     |
-------  -------  -------

To qualify as a seven segment display, each segment must be drawn (or not drawn) according to your @truth table.

The number "200" was of course chosen to celebrate our 200th week!



Last date to submit the solution 23:59 (UK Time) Sunday 22nd January 2023.


SO WHAT DO YOU THINK ?

If you have any suggestions or ideas then please do share with us.

Contact with me