From c456d2b4330ccc81ab1b9e5ef25ff706d2cedd43 Mon Sep 17 00:00:00 2001 From: Mohammad S Anwar Date: Mon, 8 Mar 2021 06:13:35 +0000 Subject: - Added template for challenge 103. --- challenge-103/3ter/README | 1 + challenge-103/LoneWolfiNTj/README | 1 + challenge-103/aaron-rowe/README | 1 + challenge-103/aaron-sherman/README | 1 + challenge-103/aaronreidsmith/README | 1 + challenge-103/abigail/README.md | 103 ++++++++++ challenge-103/abigail/data/preprocess | 138 +++++++++++++ challenge-103/adam-russell/README | 1 + challenge-103/ailbhe-tweedie/README | 1 + challenge-103/alex-daniel/README | 1 + challenge-103/alexander-karelas/README | 1 + challenge-103/alexander-pankoff/README | 1 + challenge-103/alicia-bielsa/README | 1 + challenge-103/andinus/README | 122 ++++++++++++ challenge-103/andinus/README.org | 102 ++++++++++ challenge-103/andrezgz/README | 1 + challenge-103/anton-fedotov/README | 1 + challenge-103/antonio-gamiz/README | 1 + challenge-103/arne-sommer/README | 1 + challenge-103/arpad-toth/README | 1 + challenge-103/ash/README | 1 + challenge-103/athanasius/README | 1 + challenge-103/aubrey-quarcoo/README | 1 + challenge-103/aviral-goel/README | 1 + challenge-103/ben-davies/README.md | 1 + challenge-103/bill-palmer/README | 1 + challenge-103/bkb/README | 1 + challenge-103/bob-kleemann/README | 1 + challenge-103/bob-lied/README | 3 + challenge-103/brtastic/README | 1 + challenge-103/bruno-ramos/README | 1 + challenge-103/burkhard-nickels/README | 1 + challenge-103/bwva/README | 1 + challenge-103/cheok-yin-fung/README | 1 + challenge-103/cliveholloway/README | 1 + challenge-103/colin-crain/README | 1 + challenge-103/craig/README | 1 + challenge-103/creewick/README | 1 + challenge-103/cristian-heredia/README | 1 + challenge-103/daniel-mantovani/README | 1 + challenge-103/daniel-mita/README | 1 + challenge-103/darren-bottin/README | 1 + challenge-103/dave-cross/README | 1 + challenge-103/dave-jacoby/README | 1 + challenge-103/david-kayal/README | 1 + challenge-103/ddobbelaere/README | 1 + challenge-103/deadmarshal/README | 1 + challenge-103/denis-yurashku/README | 1 + challenge-103/donald-hunter/README | 1 + challenge-103/doug-schrag/README | 1 + challenge-103/dracos/README | 1 + challenge-103/duane-powell/README | 1 + challenge-103/duncan-c-white/OptimizingTask1 | 50 +++++ challenge-103/duncan-c-white/README | 54 ++++++ challenge-103/e-choroba/README | 1 + challenge-103/eddy-hs/README | 1 + challenge-103/fabrizio-poggi/README | 1 + challenge-103/feng-chang/README | 1 + challenge-103/finanalyst/README | 1 + challenge-103/finley/README | 1 + challenge-103/fjwhittle/README | 1 + challenge-103/frankivo/README | 1 + challenge-103/fred-zinn/README | 1 + challenge-103/freddie-b/README | 1 + challenge-103/garrett-goebel/README | 1 + challenge-103/giuseppe-terlizzi/README | 1 + challenge-103/gugod/README | 1 + challenge-103/gugod/rust/.gitignore | 2 + challenge-103/gugod/rust/Makefile | 10 + challenge-103/guillermo-ramos/README | 1 + challenge-103/gustavo-chaves/README | 1 + challenge-103/hauke-d/README | 1 + challenge-103/henry-wong/README | 1 + challenge-103/hstejas/README | 1 + challenge-103/ianrifkin/README | 1 + challenge-103/izifresh/README | 1 + challenge-103/jacques-guinnebault/README | 1 + challenge-103/jaime/README | 59 ++++++ challenge-103/jaldhar-h-vyas/README | 1 + challenge-103/james-smith/README.md | 2 + challenge-103/jan-perl/README | 1 + challenge-103/jaredor/README | 1 + challenge-103/jason-messer/README | 1 + challenge-103/javier-luque/README | 1 + challenge-103/jcrosswh/README | 1 + challenge-103/jeff/README | 1 + challenge-103/jeongoon/.gitignore | 5 + challenge-103/jeongoon/README | 1 + challenge-103/jeremy-carman/README | 1 + challenge-103/jim-bacon/README | 1 + challenge-103/jitu-keshwani/README | 1 + challenge-103/jj-merelo/README | 1 + challenge-103/jluis/README | 1 + challenge-103/jo-37/README | 1 + challenge-103/jo-christian-oterhals/README | 1 + challenge-103/joe-tym/README | 1 + challenge-103/joelle-maslak/README | 1 + challenge-103/john-barrett/README | 1 + challenge-103/jokraft/README | 1 + challenge-103/juan-caballero/README | 1 + challenge-103/julien-fiegehenn/README | 1 + challenge-103/juliodcs/README | 1 + challenge-103/kai-burgdorf/README.md | 1 + challenge-103/kevin-colyer/README | 3 + challenge-103/khalid/README | 1 + challenge-103/kian-meng-ang/README | 1 + challenge-103/kiran-kumar/README | 1 + challenge-103/kivanc-yazan/.gitignore | 2 + challenge-103/kivanc-yazan/README | 1 + challenge-103/kordaff/README | 1 + challenge-103/lance-wicks/README | 1 + challenge-103/lars-balker/README | 1 + challenge-103/lars-thegler/README | 1 + challenge-103/laurent-rosenfeld/README | 1 + challenge-103/leoltron/README | 1 + challenge-103/lubos-kolouch/README | 1 + challenge-103/luca-ferrari/README | 1 + challenge-103/magnus-woldrich/README | 1 + challenge-103/manfredi/README | 1 + challenge-103/mano-chandar/README | 1 + challenge-103/mark-anderson/README | 1 + challenge-103/mark-senn/README | 1 + challenge-103/markjreed/README | 6 + challenge-103/markus-holzer/README | 1 + challenge-103/martin-barth/README | 1 + challenge-103/martin-mugeni/README | 1 + challenge-103/mathmauney/README | 1 + challenge-103/matt-latusek/README | 1 + challenge-103/matthew-persico/README | 1 + challenge-103/maxim-kolodyazhny/README | 1 + challenge-103/maxim-nechaev/README | 1 + challenge-103/michael-hamlin/README | 5 + challenge-103/michael-schaap/README | 1 + challenge-103/mihail-iosilevitch/README | 1 + challenge-103/mike-accardo/README | 1 + challenge-103/mimosinnet/README | 1 + challenge-103/mohammad-anwar/README | 1 + challenge-103/ndelucca/README | 1 + challenge-103/neil-bowers/README | 1 + challenge-103/nick-logan/README | 1 + challenge-103/nikhil-prasanna/README | 1 + challenge-103/noud/README | 1 + challenge-103/nunovieira220/README | 1 + challenge-103/ohmycloud/README | 1 + challenge-103/oleksii-tsvietnov/README | 1 + challenge-103/olli-antti/README | 1 + challenge-103/orestis-zekai/README | 1 + challenge-103/ozzy/README | 1 + challenge-103/p6steve/README | 1 + challenge-103/pablo-saavedra/README | 1 + challenge-103/paulo-custodio/README | 1 + challenge-103/pavel-jurca/README | 1 + challenge-103/pavel-starikov/README | 1 + challenge-103/pavel_kuptsov/README | 2 + challenge-103/perlboy1967/README | 1 + challenge-103/pete-houston/README | 1 + challenge-103/pete-sergeant/README | 1 + challenge-103/peter-meszaros/README | 1 + challenge-103/peter-scott/README | 1 + challenge-103/petr-roubicek/README | 1 + challenge-103/philippe-bruhat/README | 1 + challenge-103/phillip-harris/README | 1 + challenge-103/pjdurai/README | 1 + challenge-103/pkmnx/README | 1 + challenge-103/plis-acm/.gitignore | 1 + challenge-103/plis-acm/README | 1 + challenge-103/polettix/README | 1 + challenge-103/polettix/cpanfile | 1 + challenge-103/polettix/cpanfile.snapshot | 120 ++++++++++++ challenge-103/polettix/perl/.gitignore | 1 + challenge-103/prajith-p/README | 1 + challenge-103/rage311/README | 1 + challenge-103/rakulius/README | 1 + challenge-103/randy-lauen/README | 1 + challenge-103/richard-park/README | 1 + challenge-103/rnuttall/README | 1 + challenge-103/rob-van-dam/README | 1 + challenge-103/rob4t/README | 1 + challenge-103/roger-bell-west/README | 1 + challenge-103/ruben-westerberg/README | 9 + challenge-103/ryan-thompson/README.md | 19 ++ challenge-103/saiftynet/README | 1 + challenge-103/samir-parikh/README | 1 + challenge-103/sangeet-kar/README | 1 + challenge-103/sean-meininger/README | 1 + challenge-103/sergiotarxz/README | 1 + challenge-103/sgreen/README.md | 3 + challenge-103/shahed-nooshmand/README | 1 + challenge-103/shardiwal/README | 1 + challenge-103/shaun-pearce/README | 1 + challenge-103/shawak/README.md | 1 + challenge-103/shawn-wagner/README | 1 + challenge-103/shawn-wagner/ocaml/dune | 3 + challenge-103/simon-miner/README | 1 + challenge-103/simon-proctor/README | 1 + challenge-103/simon-reinhardt/README | 1 + challenge-103/sol-demuth/README | 1 + challenge-103/southpawgeek/README | 1 + challenge-103/stephanie-stein/README | 1 + challenge-103/steve-rogerson/README | 1 + challenge-103/steven-lembark/README | 1 + challenge-103/steven-wilson/README | 1 + challenge-103/stuart-little/README | 1 + challenge-103/svetlana-nesterova/README | 1 + challenge-103/swaggboi/README | 1 + challenge-103/ted-leahy/README | 1 + challenge-103/testerR59/README | 1 + challenge-103/tiago-stock/README | 1 + challenge-103/tim-smith/README | 1 + challenge-103/tore-andersson/README | 1 + challenge-103/trenton-langer/README | 1 + challenge-103/tyler-limkemann/README | 1 + challenge-103/tyler-wardhaugh/README | 1 + challenge-103/tyler-wardhaugh/clojure/.gitignore | 16 ++ challenge-103/tyler-wardhaugh/clojure/LICENSE | 214 +++++++++++++++++++++ challenge-103/tyler-wardhaugh/clojure/README.md | 35 ++++ challenge-103/tyler-wardhaugh/clojure/deps.edn | 15 ++ challenge-103/tyler-wardhaugh/clojure/pom.xml | 55 ++++++ .../tyler-wardhaugh/clojure/resources/.keep | 0 challenge-103/tyler-wardhaugh/lua/README.md | 23 +++ challenge-103/tyler-wardhaugh/python/.gitignore | 24 +++ challenge-103/tyler-wardhaugh/python/Makefile | 13 ++ challenge-103/tyler-wardhaugh/python/README.md | 29 +++ challenge-103/ulrich-rieke/README | 1 + challenge-103/user-person/README | 1 + challenge-103/uzluisf/README | 1 + challenge-103/veesh-goldman/README | 1 + challenge-103/vinod-k/README | 1 + challenge-103/vinod-pal/README | 1 + challenge-103/vyacheslav-volgarev/README | 1 + challenge-103/walt-mankowski/README.md | 58 ++++++ challenge-103/walt-mankowski/c/.gitignore | 2 + challenge-103/walt-mankowski/cpp/.gitignore | 2 + .../walt-mankowski/python/.python-version | 1 + challenge-103/wambash/README | 1 + challenge-103/wanderdoc/README | 1 + challenge-103/will-west/README | 1 + challenge-103/william-gilmore/README | 1 + challenge-103/wlmb/README | 1 + challenge-103/x1mandi/README | 1 + challenge-103/xkr47/README | 11 ++ challenge-103/xliff/README | 1 + challenge-103/yary-h/README | 1 + challenge-103/yet-ebreo/README | 1 + challenge-103/yozen-hernandez/README | 1 + challenge-103/ziameraj16/README.md | 61 ++++++ .../ziameraj16/kotlin/META-INF/main.kotlin_module | Bin 0 -> 24 bytes 247 files changed, 1589 insertions(+) create mode 100644 challenge-103/3ter/README create mode 100755 challenge-103/LoneWolfiNTj/README create mode 100644 challenge-103/aaron-rowe/README create mode 100644 challenge-103/aaron-sherman/README create mode 100644 challenge-103/aaronreidsmith/README create mode 100644 challenge-103/abigail/README.md create mode 100755 challenge-103/abigail/data/preprocess create mode 100644 challenge-103/adam-russell/README create mode 100644 challenge-103/ailbhe-tweedie/README create mode 100644 challenge-103/alex-daniel/README create mode 100644 challenge-103/alexander-karelas/README create mode 100644 challenge-103/alexander-pankoff/README create mode 100644 challenge-103/alicia-bielsa/README create mode 100644 challenge-103/andinus/README create mode 100644 challenge-103/andinus/README.org create mode 100644 challenge-103/andrezgz/README create mode 100644 challenge-103/anton-fedotov/README create mode 100644 challenge-103/antonio-gamiz/README create mode 100644 challenge-103/arne-sommer/README create mode 100644 challenge-103/arpad-toth/README create mode 100644 challenge-103/ash/README create mode 100644 challenge-103/athanasius/README create mode 100644 challenge-103/aubrey-quarcoo/README create mode 100644 challenge-103/aviral-goel/README create mode 100644 challenge-103/ben-davies/README.md create mode 100644 challenge-103/bill-palmer/README create mode 100644 challenge-103/bkb/README create mode 100644 challenge-103/bob-kleemann/README create mode 100644 challenge-103/bob-lied/README create mode 100644 challenge-103/brtastic/README create mode 100644 challenge-103/bruno-ramos/README create mode 100644 challenge-103/burkhard-nickels/README create mode 100644 challenge-103/bwva/README create mode 100644 challenge-103/cheok-yin-fung/README create mode 100644 challenge-103/cliveholloway/README create mode 100644 challenge-103/colin-crain/README create mode 100644 challenge-103/craig/README create mode 100644 challenge-103/creewick/README create mode 100644 challenge-103/cristian-heredia/README create mode 100644 challenge-103/daniel-mantovani/README create mode 100644 challenge-103/daniel-mita/README create mode 100644 challenge-103/darren-bottin/README create mode 100644 challenge-103/dave-cross/README create mode 100644 challenge-103/dave-jacoby/README create mode 100644 challenge-103/david-kayal/README create mode 100644 challenge-103/ddobbelaere/README create mode 100644 challenge-103/deadmarshal/README create mode 100644 challenge-103/denis-yurashku/README create mode 100644 challenge-103/donald-hunter/README create mode 100644 challenge-103/doug-schrag/README create mode 100644 challenge-103/dracos/README create mode 100644 challenge-103/duane-powell/README create mode 100644 challenge-103/duncan-c-white/OptimizingTask1 create mode 100644 challenge-103/duncan-c-white/README create mode 100644 challenge-103/e-choroba/README create mode 100644 challenge-103/eddy-hs/README create mode 100644 challenge-103/fabrizio-poggi/README create mode 100644 challenge-103/feng-chang/README create mode 100644 challenge-103/finanalyst/README create mode 100644 challenge-103/finley/README create mode 100644 challenge-103/fjwhittle/README create mode 100644 challenge-103/frankivo/README create mode 100644 challenge-103/fred-zinn/README create mode 100644 challenge-103/freddie-b/README create mode 100644 challenge-103/garrett-goebel/README create mode 100644 challenge-103/giuseppe-terlizzi/README create mode 100644 challenge-103/gugod/README create mode 100644 challenge-103/gugod/rust/.gitignore create mode 100644 challenge-103/gugod/rust/Makefile create mode 100644 challenge-103/guillermo-ramos/README create mode 100644 challenge-103/gustavo-chaves/README create mode 100644 challenge-103/hauke-d/README create mode 100644 challenge-103/henry-wong/README create mode 100644 challenge-103/hstejas/README create mode 100644 challenge-103/ianrifkin/README create mode 100644 challenge-103/izifresh/README create mode 100644 challenge-103/jacques-guinnebault/README create mode 100644 challenge-103/jaime/README create mode 100644 challenge-103/jaldhar-h-vyas/README create mode 100644 challenge-103/james-smith/README.md create mode 100644 challenge-103/jan-perl/README create mode 100644 challenge-103/jaredor/README create mode 100644 challenge-103/jason-messer/README create mode 100644 challenge-103/javier-luque/README create mode 100644 challenge-103/jcrosswh/README create mode 100644 challenge-103/jeff/README create mode 100644 challenge-103/jeongoon/.gitignore create mode 100644 challenge-103/jeongoon/README create mode 100644 challenge-103/jeremy-carman/README create mode 100644 challenge-103/jim-bacon/README create mode 100644 challenge-103/jitu-keshwani/README create mode 100644 challenge-103/jj-merelo/README create mode 100644 challenge-103/jluis/README create mode 100644 challenge-103/jo-37/README create mode 100644 challenge-103/jo-christian-oterhals/README create mode 100644 challenge-103/joe-tym/README create mode 100644 challenge-103/joelle-maslak/README create mode 100644 challenge-103/john-barrett/README create mode 100644 challenge-103/jokraft/README create mode 100644 challenge-103/juan-caballero/README create mode 100644 challenge-103/julien-fiegehenn/README create mode 100644 challenge-103/juliodcs/README create mode 100644 challenge-103/kai-burgdorf/README.md create mode 100644 challenge-103/kevin-colyer/README create mode 100644 challenge-103/khalid/README create mode 100644 challenge-103/kian-meng-ang/README create mode 100644 challenge-103/kiran-kumar/README create mode 100644 challenge-103/kivanc-yazan/.gitignore create mode 100644 challenge-103/kivanc-yazan/README create mode 100644 challenge-103/kordaff/README create mode 100644 challenge-103/lance-wicks/README create mode 100644 challenge-103/lars-balker/README create mode 100644 challenge-103/lars-thegler/README create mode 100644 challenge-103/laurent-rosenfeld/README create mode 100644 challenge-103/leoltron/README create mode 100644 challenge-103/lubos-kolouch/README create mode 100644 challenge-103/luca-ferrari/README create mode 100644 challenge-103/magnus-woldrich/README create mode 100644 challenge-103/manfredi/README create mode 100644 challenge-103/mano-chandar/README create mode 100644 challenge-103/mark-anderson/README create mode 100644 challenge-103/mark-senn/README create mode 100644 challenge-103/markjreed/README create mode 100644 challenge-103/markus-holzer/README create mode 100644 challenge-103/martin-barth/README create mode 100644 challenge-103/martin-mugeni/README create mode 100644 challenge-103/mathmauney/README create mode 100644 challenge-103/matt-latusek/README create mode 100644 challenge-103/matthew-persico/README create mode 100644 challenge-103/maxim-kolodyazhny/README create mode 100644 challenge-103/maxim-nechaev/README create mode 100644 challenge-103/michael-hamlin/README create mode 100644 challenge-103/michael-schaap/README create mode 100644 challenge-103/mihail-iosilevitch/README create mode 100644 challenge-103/mike-accardo/README create mode 100644 challenge-103/mimosinnet/README create mode 100644 challenge-103/mohammad-anwar/README create mode 100644 challenge-103/ndelucca/README create mode 100644 challenge-103/neil-bowers/README create mode 100644 challenge-103/nick-logan/README create mode 100644 challenge-103/nikhil-prasanna/README create mode 100644 challenge-103/noud/README create mode 100644 challenge-103/nunovieira220/README create mode 100644 challenge-103/ohmycloud/README create mode 100644 challenge-103/oleksii-tsvietnov/README create mode 100644 challenge-103/olli-antti/README create mode 100644 challenge-103/orestis-zekai/README create mode 100644 challenge-103/ozzy/README create mode 100644 challenge-103/p6steve/README create mode 100644 challenge-103/pablo-saavedra/README create mode 100644 challenge-103/paulo-custodio/README create mode 100644 challenge-103/pavel-jurca/README create mode 100644 challenge-103/pavel-starikov/README create mode 100644 challenge-103/pavel_kuptsov/README create mode 100644 challenge-103/perlboy1967/README create mode 100644 challenge-103/pete-houston/README create mode 100644 challenge-103/pete-sergeant/README create mode 100644 challenge-103/peter-meszaros/README create mode 100644 challenge-103/peter-scott/README create mode 100644 challenge-103/petr-roubicek/README create mode 100644 challenge-103/philippe-bruhat/README create mode 100644 challenge-103/phillip-harris/README create mode 100644 challenge-103/pjdurai/README create mode 100644 challenge-103/pkmnx/README create mode 100644 challenge-103/plis-acm/.gitignore create mode 100644 challenge-103/plis-acm/README create mode 100644 challenge-103/polettix/README create mode 100644 challenge-103/polettix/cpanfile create mode 100644 challenge-103/polettix/cpanfile.snapshot create mode 100644 challenge-103/polettix/perl/.gitignore create mode 100644 challenge-103/prajith-p/README create mode 100644 challenge-103/rage311/README create mode 100644 challenge-103/rakulius/README create mode 100644 challenge-103/randy-lauen/README create mode 100644 challenge-103/richard-park/README create mode 100644 challenge-103/rnuttall/README create mode 100644 challenge-103/rob-van-dam/README create mode 100644 challenge-103/rob4t/README create mode 100644 challenge-103/roger-bell-west/README create mode 100644 challenge-103/ruben-westerberg/README create mode 100644 challenge-103/ryan-thompson/README.md create mode 100644 challenge-103/saiftynet/README create mode 100644 challenge-103/samir-parikh/README create mode 100644 challenge-103/sangeet-kar/README create mode 100644 challenge-103/sean-meininger/README create mode 100644 challenge-103/sergiotarxz/README create mode 100644 challenge-103/sgreen/README.md create mode 100644 challenge-103/shahed-nooshmand/README create mode 100644 challenge-103/shardiwal/README create mode 100644 challenge-103/shaun-pearce/README create mode 100644 challenge-103/shawak/README.md create mode 100644 challenge-103/shawn-wagner/README create mode 100644 challenge-103/shawn-wagner/ocaml/dune create mode 100644 challenge-103/simon-miner/README create mode 100644 challenge-103/simon-proctor/README create mode 100644 challenge-103/simon-reinhardt/README create mode 100644 challenge-103/sol-demuth/README create mode 100644 challenge-103/southpawgeek/README create mode 100644 challenge-103/stephanie-stein/README create mode 100644 challenge-103/steve-rogerson/README create mode 100644 challenge-103/steven-lembark/README create mode 100644 challenge-103/steven-wilson/README create mode 100644 challenge-103/stuart-little/README create mode 100644 challenge-103/svetlana-nesterova/README create mode 100644 challenge-103/swaggboi/README create mode 100644 challenge-103/ted-leahy/README create mode 100644 challenge-103/testerR59/README create mode 100644 challenge-103/tiago-stock/README create mode 100644 challenge-103/tim-smith/README create mode 100644 challenge-103/tore-andersson/README create mode 100644 challenge-103/trenton-langer/README create mode 100644 challenge-103/tyler-limkemann/README create mode 100644 challenge-103/tyler-wardhaugh/README create mode 100644 challenge-103/tyler-wardhaugh/clojure/.gitignore create mode 100644 challenge-103/tyler-wardhaugh/clojure/LICENSE create mode 100644 challenge-103/tyler-wardhaugh/clojure/README.md create mode 100644 challenge-103/tyler-wardhaugh/clojure/deps.edn create mode 100644 challenge-103/tyler-wardhaugh/clojure/pom.xml create mode 100644 challenge-103/tyler-wardhaugh/clojure/resources/.keep create mode 100644 challenge-103/tyler-wardhaugh/lua/README.md create mode 100644 challenge-103/tyler-wardhaugh/python/.gitignore create mode 100644 challenge-103/tyler-wardhaugh/python/Makefile create mode 100644 challenge-103/tyler-wardhaugh/python/README.md create mode 100644 challenge-103/ulrich-rieke/README create mode 100644 challenge-103/user-person/README create mode 100644 challenge-103/uzluisf/README create mode 100644 challenge-103/veesh-goldman/README create mode 100644 challenge-103/vinod-k/README create mode 100644 challenge-103/vinod-pal/README create mode 100644 challenge-103/vyacheslav-volgarev/README create mode 100644 challenge-103/walt-mankowski/README.md create mode 100644 challenge-103/walt-mankowski/c/.gitignore create mode 100644 challenge-103/walt-mankowski/cpp/.gitignore create mode 100644 challenge-103/walt-mankowski/python/.python-version create mode 100644 challenge-103/wambash/README create mode 100644 challenge-103/wanderdoc/README create mode 100644 challenge-103/will-west/README create mode 100644 challenge-103/william-gilmore/README create mode 100644 challenge-103/wlmb/README create mode 100644 challenge-103/x1mandi/README create mode 100644 challenge-103/xkr47/README create mode 100644 challenge-103/xliff/README create mode 100644 challenge-103/yary-h/README create mode 100644 challenge-103/yet-ebreo/README create mode 100644 challenge-103/yozen-hernandez/README create mode 100644 challenge-103/ziameraj16/README.md create mode 100644 challenge-103/ziameraj16/kotlin/META-INF/main.kotlin_module diff --git a/challenge-103/3ter/README b/challenge-103/3ter/README new file mode 100644 index 0000000000..8c594431f3 --- /dev/null +++ b/challenge-103/3ter/README @@ -0,0 +1 @@ +Solutions by 3ter. diff --git a/challenge-103/LoneWolfiNTj/README b/challenge-103/LoneWolfiNTj/README new file mode 100755 index 0000000000..bf42ad2482 --- /dev/null +++ b/challenge-103/LoneWolfiNTj/README @@ -0,0 +1 @@ +Solution by Robbie Hatley (github user "LoneWolfiNTj"). \ No newline at end of file diff --git a/challenge-103/aaron-rowe/README b/challenge-103/aaron-rowe/README new file mode 100644 index 0000000000..e14e0782fb --- /dev/null +++ b/challenge-103/aaron-rowe/README @@ -0,0 +1 @@ +Solutions by Aaron Rowe. diff --git a/challenge-103/aaron-sherman/README b/challenge-103/aaron-sherman/README new file mode 100644 index 0000000000..14ec31f570 --- /dev/null +++ b/challenge-103/aaron-sherman/README @@ -0,0 +1 @@ +Solutions by Aaron Sherman. diff --git a/challenge-103/aaronreidsmith/README b/challenge-103/aaronreidsmith/README new file mode 100644 index 0000000000..2fcfe1fdcc --- /dev/null +++ b/challenge-103/aaronreidsmith/README @@ -0,0 +1 @@ +Solution by Aaron Smith diff --git a/challenge-103/abigail/README.md b/challenge-103/abigail/README.md new file mode 100644 index 0000000000..155dd42f95 --- /dev/null +++ b/challenge-103/abigail/README.md @@ -0,0 +1,103 @@ +# Solution by Abigail +## [Rare Numbers](https://perlweeklychallenge.org/blog/perl-weekly-challenge-102/#TASK1) + + +You are given a positive integer `$N`. + +Write a script to generate all Rare numbers of size `$N` if exists. +Please checkout [the page](http://www.shyamsundergupta.com/rare.htm) +for more information about it. + +### Examples +~~~~ +(a) 2 digits: 65 +(b) 6 digits: 621770 +(c) 9 digits: 281089082 +~~~~ + +### Notes + +There is no simple efficient algorithm for spitting out rare numbers; +at least not one which can be easily found online. + +The code fragments in the OEIS only give code to check whether a +number is a rare number, and they don't suggest anything other +than "try all numbers" if you want to find all of the numbers of a +certain length. + +Shyam writes: [*I have developed a computer program in Fortran to +calculate Rare numbers. In fact with refinement of the code over +the years, the program has been made so powerful that all numbers +up to 10^14 can be just checked for Rare numbers in less than a +minute on Pentium III PC. In few hours I have been able to check +up to 10^18.*](https://www.primepuzzles.net/conjectures/conj_023.htm) +but he does not publish his code. + +Richard Guy writes [*Here are three problems that have come to light +recently, each of which can consume unlimited amounts of computer time, +perhaps without revealing anything +significant*.](https://www.jstor.org/stable/2325149?seq=1) +The rare numbers are one of the three problems. + +So, we just include a [list of all know rare numbers, +up to 10^22](https://oeis.org/A035519/b035519.txt) +and preprocess them so they're bucketed to length. Then it's just +a matter of reading the desired length, and printing the appropriate +entry (or the empty string if no rare numbers of that length exist). +There are only 124 known rare numbers, so preprocessing is very +feasible. + + +### Solutions +* [AWK](awk/ch-1.awk) +* [Bash](bash/ch-1.sh) +* [BASIC](basic/ch-1.bas) +* [C](c/ch-1.c) +* [Lua](lua/ch-1.lua) +* [Node.js](node/ch-1.js) +* [Perl](perl/ch-1.pl) +* [Python](python/ch-1.py) +* [Ruby](ruby/ch-1.rb) + +### Blog +[Perl Weekly Challenge 102: Rare Numbers](https://wp.me/pcxd30-t7) + + +## [Hash-counting String](https://perlweeklychallenge.org/blog/perl-weekly-challenge-102/#TASK2) + +You are given a positive integer `$N`. + +Write a script to produce Hash-counting string of that length. + +The definition of a hash-counting string is as follows: +- the string consists only of digits 0-9 and hashes, `'#'`. +- there are no two consecutive hashes: `"##"` does not appear in your string +- the last character is a hash +- the number immediately preceding each hash (if it exists) is the position + of that hash in the string, with the position being counted up from 1 + +It can be shown that for every positive integer `N` there is exactly one +such length-`N` string. + +### Examples +~~~~ +(a) "#" is the counting string of length 1 +(b) "2#" is the counting string of length 2 +(c) "#3#" is the string of length 3 +(d) "#3#5#7#10#" is the string of length 10 +(e) "2#4#6#8#11#14#" is the string of length 14 +~~~~ + +### Solutions +* [AWK](awk/ch-2.awk) +* [Bash](bash/ch-2.sh) +* [Befunge-93](befunge-93/ch-2.bf93) +* [C](c/ch-2.c) +* [Lua](lua/ch-2.lua) +* [Node.js](node/ch-2.js) +* [Perl](perl/ch-2.pl) +* [Python](python/ch-2.py) +* [Ruby](ruby/ch-2.rb) + +### Blog +[Perl Weekly Challenge 102: Hash-counting String](https://wp.me/pcxd30-tZ) diff --git a/challenge-103/abigail/data/preprocess b/challenge-103/abigail/data/preprocess new file mode 100755 index 0000000000..3e16a0fc07 --- /dev/null +++ b/challenge-103/abigail/data/preprocess @@ -0,0 +1,138 @@ +#!/opt/perl/bin/perl + +use 5.032; + +use strict; +use warnings; +no warnings 'syntax'; + +use experimental 'signatures'; +use experimental 'lexical_subs'; + +open my $fh, "<", "rare_numbers.txt" or die "open rare_numbers.txt: $!"; + +my @buckets; + +while (my $rn = <$fh>) { + chomp $rn; + $rn =~ s/^[0-9]+\s+//; + push @{$buckets [length $rn]} => $rn; +} + +my @bs = sort {$a <=> $b} grep {$buckets [$_]} keys @buckets; + + +open my $awk_h, ">", "rn.awk" or die "open rn.awk: $!"; +open my $bash_h, ">", "rn.sh" or die "open rn.sh: $!"; +open my $basic_h, ">", "rn.bas" or die "open rn.bas: $!"; +open my $c_h, ">", "rn.c" or die "open rn.c: $!"; +open my $lua_h, ">", "rn.lua" or die "open rn.lua: $!"; +open my $node_h, ">", "rn.js" or die "open rn.js: $!"; +open my $perl_h, ">", "rn.pl" or die "open rn.pl: $!"; +open my $python_h, ">", "rn.py" or die "open rn.py: $!"; +open my $ruby_h, ">", "rn.rb" or die "open rn.rb: $!"; + +my $basic_ln = 1000; + +say $awk_h "BEGIN {"; +say $bash_h "declare -a rare_numbers\n"; +say $basic_h "$basic_ln INPUT length\n\n"; +say $c_h "char * rare_numbers [23];\n"; +say $c_h "int main () {"; +say $lua_h "rare_numbers = {}\n"; +say $node_h "let rare_numbers = []\n"; +say $perl_h "my \@rare_numbers;\n"; +say $python_h "rare_numbers = {}\n"; +say $ruby_h "rare_numbers = Array . new"; + +foreach my $bs (0 .. 22) { + if (!$buckets [$bs]) { + printf $c_h " rare_numbers [%2d] = NULL;\n" + => $bs; + next; + } + + # + # AWK + # + printf $awk_h ' rare_numbers [%2d] = ', $bs; + print $awk_h join " \\\n " => + map {sprintf "%26s", qq {"$_\\n"}} @{$buckets [$bs]}; + print $awk_h "\n"; + + # + # Bash + # + printf $bash_h 'rare_numbers[%2d]=', $bs; + print $bash_h join "\\\n" => + map {qq {"$_\\n"}} @{$buckets [$bs]}; + print $bash_h "\n"; + + # + # BASIC + # + for my $rn (@{$buckets [$bs]}) { + printf $basic_h qq {%03d IF length = %2d THEN PRINT %24s\n} + => ($basic_ln += 10), $bs, qq {"$rn"} + } + + # + # C + # + printf $c_h ' rare_numbers [%2d] = ', $bs; + print $c_h join " \\\n " => + map {sprintf "%26s", qq {"$_\\n"}} @{$buckets [$bs]}; + print $c_h ";\n"; + + # + # Lua + # + printf $lua_h "rare_numbers [%2d] = ", $bs; + print $lua_h join " ..\n " => + map {sprintf "%26s", qq {"$_\\n"}} @{$buckets [$bs]}; + print $lua_h "\n"; + + # + # Node.js + # + printf $node_h "rare_numbers [%2d] = ", $bs; + print $node_h join " +\n " => + map {sprintf "%26s", qq {"$_\\n"}} @{$buckets [$bs]}; + print $node_h "\n"; + + # + # Perl + # + printf $perl_h '$rare_numbers [%2d] = ', $bs; + print $perl_h join " .\n " => + map {sprintf "%26s", qq {"$_\\n"}} @{$buckets [$bs]}; + say $perl_h ";"; + + # + # Python + # + printf $python_h "rare_numbers [%4s] =", "'$bs'"; + print $python_h join " +\\\n " => + map {sprintf "%26s", qq {"$_\\n"}} @{$buckets [$bs]}; + print $python_h "\n"; + + # + # Ruby + # + printf $ruby_h "rare_numbers [%2s] =", $bs; + print $ruby_h join " +\n " => + map {sprintf "%26s", qq {"$_\\n"}} @{$buckets [$bs]}; + print $ruby_h "\n"; +} +say $awk_h "}"; +say $c_h "}"; + + +close $awk_h or die "close rn.awk: $!"; +close $bash_h or die "close rn.sh: $!"; +close $c_h or die "close rn.n: $!"; +close $lua_h or die "close rn.lua: $!"; +close $node_h or die "close rn.js: $!"; +close $perl_h or die "close rn.pl: $!"; +close $python_h or die "close rn.py: $!"; +close $ruby_h or die "close rn.rb: $!"; diff --git a/challenge-103/adam-russell/README b/challenge-103/adam-russell/README new file mode 100644 index 0000000000..1d2e2957c5 --- /dev/null +++ b/challenge-103/adam-russell/README @@ -0,0 +1 @@ +Solution by Adam Russell diff --git a/challenge-103/ailbhe-tweedie/README b/challenge-103/ailbhe-tweedie/README new file mode 100644 index 0000000000..36d4034b70 --- /dev/null +++ b/challenge-103/ailbhe-tweedie/README @@ -0,0 +1 @@ +Solution by Ailbhe Tweedie diff --git a/challenge-103/alex-daniel/README b/challenge-103/alex-daniel/README new file mode 100644 index 0000000000..65550789bd --- /dev/null +++ b/challenge-103/alex-daniel/README @@ -0,0 +1 @@ +Solution by Alex Daniel. diff --git a/challenge-103/alexander-karelas/README b/challenge-103/alexander-karelas/README new file mode 100644 index 0000000000..3de9fce8d9 --- /dev/null +++ b/challenge-103/alexander-karelas/README @@ -0,0 +1 @@ +Solution by Alexander Karelas diff --git a/challenge-103/alexander-pankoff/README b/challenge-103/alexander-pankoff/README new file mode 100644 index 0000000000..41f67807ac --- /dev/null +++ b/challenge-103/alexander-pankoff/README @@ -0,0 +1 @@ +Solution by Alexander Pankoff diff --git a/challenge-103/alicia-bielsa/README b/challenge-103/alicia-bielsa/README new file mode 100644 index 0000000000..c5187874c3 --- /dev/null +++ b/challenge-103/alicia-bielsa/README @@ -0,0 +1 @@ +Solution by Alicia Beilsa. diff --git a/challenge-103/andinus/README b/challenge-103/andinus/README new file mode 100644 index 0000000000..3113a6fd55 --- /dev/null +++ b/challenge-103/andinus/README @@ -0,0 +1,122 @@ + ━━━━━━━━━━━━━━━ + CHALLENGE 100 + + Andinus + ━━━━━━━━━━━━━━━ + + + 2021-02-20 + + +Table of Contents +───────────────── + +Task 1 - Fun Time +.. Raku + + + + + +Task 1 - Fun Time +═════════════════ + + You are given a time (12 hour / 24 hour). + + Write a script to convert the given time from 12 hour format to 24 + hour format and vice versa. + + Ideally we expect a one-liner. + + +Raku +──── + + • Program: + + One should use `DateTime' module to solve this but that is not fun so + we solve it the wrong way! + + The program will accept any string as `$time'. We do the format check + later. + + ┌──── + │ #| convert 12-hour formatted time to 24-hour format and vice-versa + │ unit sub MAIN ( + │ Str $time, #= time (format: 05:15pm or "05:15 pm" or 17:00) + │ ); + └──── + + The grammar `Time' will parse `$time' to give us meaningful + information required to do the task. + + ⁃ `hour' & `minute' match any digit ranging from 00 to 99 + ⁃ `meridiem' matches either /am/ or /pm/ + + ⁃ Note: This grammar will consider "99:99" as a valid timestamp. + + ┌──── + │ grammar Time { + │ token TOP { ':' ' '? ? } + │ token hour { \d ** 1..2 } + │ token minute { \d ** 1..2 } + │ token meridiem { ['am'|'pm'] } + │ } + └──── + + We parse `$time' with `Time' grammar. If `meridiem' is set then it + must be 12-hour format time, otherwise it'll be 24-hour format time. + + ┌──── + │ # Match for time format. + │ if Time.parse($time) -> $m { + │ given $m { + │ ... + │ } + │ } else { + │ note "Wrong format!"; + │ exit 1; + │ } + └──── + + For "am" we just check if the hour is 12, if so then we print it as + "00" otherwise just print the hour. + + ┌──── + │ when 'am' { + │ printf "%02d:%02d\n", + │ $m == 12 ?? "00" !! $m, + │ $m; + │ } + └──── + + If the hour is < 12 then we print `hour + 12' otherwise just print the + hour. + + ┌──── + │ when 'pm' { + │ printf "%02d:%02d\n", + │ $m < 12 ?? $m + 12 !! $m, + │ $m; + │ } + └──── + + If the hour is 0 then print 12 otherwise check if it's > 12, if so + then print `hour - 12' otherwise just print the hour. + + 23 -> 11 + greater than 12 + 00 -> 12 + equal to 0 + 12 -> 12 + neither equal to 0, nor greater than 12 + + If the hour is < 12 then print "am" otherwise print "pm". + + ┌──── + │ default { + │ printf "%02d:%02d%s\n", + │ $m == 0 ?? "12" !! $m > 12 ?? $m - 12 !! $m, + │ $m, $m < 12 ?? "am" !! "pm"; + │ } + └──── diff --git a/challenge-103/andinus/README.org b/challenge-103/andinus/README.org new file mode 100644 index 0000000000..9fe366c58c --- /dev/null +++ b/challenge-103/andinus/README.org @@ -0,0 +1,102 @@ +#+title: Challenge 100 +#+date: 2021-02-20 +#+options: toc:2 +#+html_link_up: ../index.html +#+export_file_name: index +#+setupfile: ~/.emacs.d/org-templates/level-2.org + +* Task 1 - Fun Time + +You are given a time (12 hour / 24 hour). + +Write a script to convert the given time from 12 hour format to 24 hour +format and vice versa. + +Ideally we expect a one-liner. + +** Raku + +- Program: [[file:raku/ch-1.raku]] + +One should use ~DateTime~ module to solve this but that is not fun so we +solve it the wrong way! + +The program will accept any string as ~$time~. We do the format check later. + +#+begin_src raku +#| convert 12-hour formatted time to 24-hour format and vice-versa +unit sub MAIN ( + Str $time, #= time (format: 05:15pm or "05:15 pm" or 17:00) +); +#+end_src + +The grammar ~Time~ will parse ~$time~ to give us meaningful information +required to do the task. + ++ ~hour~ & ~minute~ match any digit ranging from 00 to 99 ++ ~meridiem~ matches either /am/ or /pm/ + ++ *Note*: This grammar will consider "99:99" as a valid timestamp. + +#+begin_src raku +grammar Time { + token TOP { ':' ' '? ? } + token hour { \d ** 1..2 } + token minute { \d ** 1..2 } + token meridiem { ['am'|'pm'] } +} +#+end_src + +We parse ~$time~ with ~Time~ grammar. If ~meridiem~ is set then it must be +12-hour format time, otherwise it'll be 24-hour format time. + +#+begin_src raku +# Match for time format. +if Time.parse($time) -> $m { + given $m { + ... + } +} else { + note "Wrong format!"; + exit 1; +} +#+end_src + +For "am" we just check if the hour is 12, if so then we print it as "00" +otherwise just print the hour. + +#+begin_src raku +when 'am' { + printf "%02d:%02d\n", + $m == 12 ?? "00" !! $m, + $m; +} +#+end_src + +If the hour is < 12 then we print =hour + 12= otherwise just print the +hour. + +#+begin_src raku +when 'pm' { + printf "%02d:%02d\n", + $m < 12 ?? $m + 12 !! $m, + $m; +} +#+end_src + +If the hour is 0 then print 12 otherwise check if it's > 12, if so then +print =hour - 12= otherwise just print the hour. + ++ 23 -> 11 :: greater than 12 ++ 00 -> 12 :: equal to 0 ++ 12 -> 12 :: neither equal to 0, nor greater than 12 + +If the hour is < 12 then print "am" otherwise print "pm". + +#+begin_src raku +default { + printf "%02d:%02d%s\n", + $m == 0 ?? "12" !! $m > 12 ?? $m - 12 !! $m, + $m, $m < 12 ?? "am" !! "pm"; +} +#+end_src diff --git a/challenge-103/andrezgz/README b/challenge-103/andrezgz/README new file mode 100644 index 0000000000..f4fd0da88e --- /dev/null +++ b/challenge-103/andrezgz/README @@ -0,0 +1 @@ +Solution by Andrezgz diff --git a/challenge-103/anton-fedotov/README b/challenge-103/anton-fedotov/README new file mode 100644 index 0000000000..f7c4f6deed --- /dev/null +++ b/challenge-103/anton-fedotov/README @@ -0,0 +1 @@ +Solutions by Anton Fedotov. diff --git a/challenge-103/antonio-gamiz/README b/challenge-103/antonio-gamiz/README new file mode 100644 index 0000000000..1f5ed5871a --- /dev/null +++ b/challenge-103/antonio-gamiz/README @@ -0,0 +1 @@ +Solution by Antonio Gamiz diff --git a/challenge-103/arne-sommer/README b/challenge-103/arne-sommer/README new file mode 100644 index 0000000000..b5d88e4df4 --- /dev/null +++ b/challenge-103/arne-sommer/README @@ -0,0 +1 @@ +Solution by Arne Sommer. diff --git a/challenge-103/arpad-toth/README b/challenge-103/arpad-toth/README new file mode 100644 index 0000000000..6661dd82c1 --- /dev/null +++ b/challenge-103/arpad-toth/README @@ -0,0 +1 @@ +Solution by Arpad Toth diff --git a/challenge-103/ash/README b/challenge-103/ash/README new file mode 100644 index 0000000000..318b1bfb41 --- /dev/null +++ b/challenge-103/ash/README @@ -0,0 +1 @@ +Solutions by Andrew Shitov diff --git a/challenge-103/athanasius/README b/challenge-103/athanasius/README new file mode 100644 index 0000000000..cc357fda4a --- /dev/null +++ b/challenge-103/athanasius/README @@ -0,0 +1 @@ +Solution by Athanasius diff --git a/challenge-103/aubrey-quarcoo/README b/challenge-103/aubrey-quarcoo/README new file mode 100644 index 0000000000..8e63a2c1f5 --- /dev/null +++ b/challenge-103/aubrey-quarcoo/README @@ -0,0 +1 @@ +Solution by Aubrey Quarcoo diff --git a/challenge-103/aviral-goel/README b/challenge-103/aviral-goel/README new file mode 100644 index 0000000000..e64ee14512 --- /dev/null +++ b/challenge-103/aviral-goel/README @@ -0,0 +1 @@ +Solutions by Aviral Goel. diff --git a/challenge-103/ben-davies/README.md b/challenge-103/ben-davies/README.md new file mode 100644 index 0000000000..77158344c9 --- /dev/null +++ b/challenge-103/ben-davies/README.md @@ -0,0 +1 @@ +Solution by Ben Davies diff --git a/challenge-103/bill-palmer/README b/challenge-103/bill-palmer/README new file mode 100644 index 0000000000..08ec849a41 --- /dev/null +++ b/challenge-103/bill-palmer/README @@ -0,0 +1 @@ +Solution by Bill Palmer. diff --git a/challenge-103/bkb/README b/challenge-103/bkb/README new file mode 100644 index 0000000000..4721993bb3 --- /dev/null +++ b/challenge-103/bkb/README @@ -0,0 +1 @@ +Solution by Ben Bullock. diff --git a/challenge-103/bob-kleemann/README b/challenge-103/bob-kleemann/README new file mode 100644 index 0000000000..78680e4035 --- /dev/null +++ b/challenge-103/bob-kleemann/README @@ -0,0 +1 @@ +Solution by Bob Kleemann diff --git a/challenge-103/bob-lied/README b/challenge-103/bob-lied/README new file mode 100644 index 0000000000..5d63db13d1 --- /dev/null +++ b/challenge-103/bob-lied/README @@ -0,0 +1,3 @@ +Solutions to weekly challenge 102 by Bob Lied. + +https://perlweeklychallenge.org/blog/perl-weekly-challenge-102/ diff --git a/challenge-103/brtastic/README b/challenge-103/brtastic/README new file mode 100644 index 0000000000..0fbe79fd6f --- /dev/null +++ b/challenge-103/brtastic/README @@ -0,0 +1 @@ +Solutions by Bartosz Jarzyna. diff --git a/challenge-103/bruno-ramos/README b/challenge-103/bruno-ramos/README new file mode 100644 index 0000000000..9d631dad8f --- /dev/null +++ b/challenge-103/bruno-ramos/README @@ -0,0 +1 @@ +Solutions by Bruno Ramos. diff --git a/challenge-103/burkhard-nickels/README b/challenge-103/burkhard-nickels/README new file mode 100644 index 0000000000..f5e16bb98b --- /dev/null +++ b/challenge-103/burkhard-nickels/README @@ -0,0 +1 @@ +Solutions by Burkhard Nickels. diff --git a/challenge-103/bwva/README b/challenge-103/bwva/README new file mode 100644 index 0000000000..ee6a7d7dc1 --- /dev/null +++ b/challenge-103/bwva/README @@ -0,0 +1 @@ +Solution(s) by bwva (Bruce Van Allen) diff --git a/challenge-103/cheok-yin-fung/README b/challenge-103/cheok-yin-fung/README new file mode 100644 index 0000000000..4413b13ada --- /dev/null +++ b/challenge-103/cheok-yin-fung/README @@ -0,0 +1 @@ +Solutions by Cheok-Yin Fung. diff --git a/challenge-103/cliveholloway/README b/challenge-103/cliveholloway/README new file mode 100644 index 0000000000..b69201296e --- /dev/null +++ b/challenge-103/cliveholloway/README @@ -0,0 +1 @@ +Solution by Clive Holloway diff --git a/challenge-103/colin-crain/README b/challenge-103/colin-crain/README new file mode 100644 index 0000000000..2a5d87e97d --- /dev/null +++ b/challenge-103/colin-crain/README @@ -0,0 +1 @@ +Solutions by Colin Crain. diff --git a/challenge-103/craig/README b/challenge-103/craig/README new file mode 100644 index 0000000000..18088481eb --- /dev/null +++ b/challenge-103/craig/README @@ -0,0 +1 @@ +Solutions by Craig. diff --git a/challenge-103/creewick/README b/challenge-103/creewick/README new file mode 100644 index 0000000000..c490e4fb80 --- /dev/null +++ b/challenge-103/creewick/README @@ -0,0 +1 @@ +Solutions by Creewick. diff --git a/challenge-103/cristian-heredia/README b/challenge-103/cristian-heredia/README new file mode 100644 index 0000000000..c53da8a54c --- /dev/null +++ b/challenge-103/cristian-heredia/README @@ -0,0 +1 @@ +Solutions by Cristina Heredia. diff --git a/challenge-103/daniel-mantovani/README b/challenge-103/daniel-mantovani/README new file mode 100644 index 0000000000..ed538216f2 --- /dev/null +++ b/challenge-103/daniel-mantovani/README @@ -0,0 +1 @@ +Solution by Daniel Mantovani diff --git a/challenge-103/daniel-mita/README b/challenge-103/daniel-mita/README new file mode 100644 index 0000000000..37339f491f --- /dev/null +++ b/challenge-103/daniel-mita/README @@ -0,0 +1 @@ +Solution by Daniel Mita diff --git a/challenge-103/darren-bottin/README b/challenge-103/darren-bottin/README new file mode 100644 index 0000000000..6c792afe8e --- /dev/null +++ b/challenge-103/darren-bottin/README @@ -0,0 +1 @@ +Solutions by Darren Bottin. diff --git a/challenge-103/dave-cross/README b/challenge-103/dave-cross/README new file mode 100644 index 0000000000..04b1b0623b --- /dev/null +++ b/challenge-103/dave-cross/README @@ -0,0 +1 @@ +Solution by Dave Cross diff --git a/challenge-103/dave-jacoby/README b/challenge-103/dave-jacoby/README new file mode 100644 index 0000000000..7c06689f16 --- /dev/null +++ b/challenge-103/dave-jacoby/README @@ -0,0 +1 @@ +Solution by Dave Jacoby diff --git a/challenge-103/david-kayal/README b/challenge-103/david-kayal/README new file mode 100644 index 0000000000..66f8615260 --- /dev/null +++ b/challenge-103/david-kayal/README @@ -0,0 +1 @@ +Solution by David Kayal diff --git a/challenge-103/ddobbelaere/README b/challenge-103/ddobbelaere/README new file mode 100644 index 0000000000..36f8cdcd67 --- /dev/null +++ b/challenge-103/ddobbelaere/README @@ -0,0 +1 @@ +Solution by Dieter Dobbelaere diff --git a/challenge-103/deadmarshal/README b/challenge-103/deadmarshal/README new file mode 100644 index 0000000000..243097dede --- /dev/null +++ b/challenge-103/deadmarshal/README @@ -0,0 +1 @@ +Solution by Ali Moradi \ No newline at end of file diff --git a/challenge-103/denis-yurashku/README b/challenge-103/denis-yurashku/README new file mode 100644 index 0000000000..2fea994000 --- /dev/null +++ b/challenge-103/denis-yurashku/README @@ -0,0 +1 @@ +Solutions by Denis Yurashku. diff --git a/challenge-103/donald-hunter/README b/challenge-103/donald-hunter/README new file mode 100644 index 0000000000..2eef878f17 --- /dev/null +++ b/challenge-103/donald-hunter/README @@ -0,0 +1 @@ +Solutions by Donald Hunter. diff --git a/challenge-103/doug-schrag/README b/challenge-103/doug-schrag/README new file mode 100644 index 0000000000..bf8a10ffb4 --- /dev/null +++ b/challenge-103/doug-schrag/README @@ -0,0 +1 @@ +Solution by Doug Schrag diff --git a/challenge-103/dracos/README b/challenge-103/dracos/README new file mode 100644 index 0000000000..a9a6517a03 --- /dev/null +++ b/challenge-103/dracos/README @@ -0,0 +1 @@ +Solutions by Matthew Somerville. diff --git a/challenge-103/duane-powell/README b/challenge-103/duane-powell/README new file mode 100644 index 0000000000..3445422743 --- /dev/null +++ b/challenge-103/duane-powell/README @@ -0,0 +1 @@ +Solutions by Duane Powell. diff --git a/challenge-103/duncan-c-white/OptimizingTask1 b/challenge-103/duncan-c-white/OptimizingTask1 new file mode 100644 index 0000000000..f108fc1873 --- /dev/null +++ b/challenge-103/duncan-c-white/OptimizingTask1 @@ -0,0 +1,50 @@ +tried some optimizations of task 1 (rare numbers). All times are for n==8 or 9 +I used Devel::NYTProf to profile each version, then made small optimizations, +then reprofiled. See "run.sh" for how to run a particular version through +the profiler, generate the report, and copy it into a web-accessible directory +for viewing: + +ch-1.pl: the original, not optimized + time(8): 0:34.31 + time(9): 5:56:10 + +ch-1a.pl: observation from rare numbers webpage ("Properties of.." + section): rare numbers start with even top digit + time(8): 0:24.46 + time(9): 4:10.61 + +ch-1b.pl: only consider rare numbers starting with even top digit.. + time(8): 0:15.35 + time(9): 2:44.34 + +ch-1c.pl: lots of optimizations, especially 3 separate rare block + functions: rareblock(), rareblock05() and rareblock2378(). + time(8): 0:06.35 + time(9): 1:06.64 + +ch-1d.pl: lots more optimizations, especially: rather than generate x and + test x%10 == d, generate y (1/10th the range) and make + x = 10y + d: 1/10th the work, but same x's as before + time(8): 0:03.92 + time(9): 0:40.21 + +ch-1e.pl: inlined israre() into the slowest rareblock2378() func + time(8): 0:03.39 + time(9): 0:34.49 + +ch-1f.pl: inlined israre() into the next slowest rareblock05() func + time(8): 0:03.12 + time(9): 0:31.47 + +ch-1g.pl: inlined israre() into the last rareblock() func + time(8): 0:02.94 + time(9): 0:28.79 + +ch-1h.pl: inlined perfectsquare() everywhere + time(8): 0:02.15 + time(9): 0:21.20 + +ch-1i.pl: reintroduced israre() but with two inlined calls to perfectsquare() + sweet spot: clear, shows problem structure nicely, plus pretty fast + time(8): 0:03.23 + time(9): 0:32.34 diff --git a/challenge-103/duncan-c-white/README b/challenge-103/duncan-c-white/README new file mode 100644 index 0000000000..77c6612c7d --- /dev/null +++ b/challenge-103/duncan-c-white/README @@ -0,0 +1,54 @@ +Task 1: "Rare Numbers + +You are given a positive integer $N. + +Write a script to generate all Rare numbers of size $N if exists. Please +read http://www.shyamsundergupta.com/rare.htm for more information about it. + +Examples + +(a) 2 digits: 65 +(b) 6 digits: 621770 +(c) 9 digits: 281089082 +" + +My notes: ok, interesting question. In summary: R (a +ve no) is a Rare No +iff R + reverse(R) and R - reverse(R) are both perfect squares. +So: generate and test time. + +SEE ALSO OptimizingTask1 for an account of a series of profiling-driven +optimizations that I made to speed up finding rare numbers. Overall, my +fastest version ran approx 18 times faster than the original. + + + +Task 2: "Hash-counting String + +You are given a positive integer $N. + +Write a script to produce Hash-counting string of that length. + +The definition of a hash-counting string is as follows: + +- the string consists only of digits 0-9 and hashes, '#' + +- there are no two consecutive hashes: '##' does not appear in your string +- the last character is a hash +- the number immediately preceding each hash (if it exists) is the position + of that hash in the string, with the position being counted up from 1 + +It can be shown that for every positive integer N there is exactly one +such length-N string. + +Examples: + + (a) "#" is the counting string of length 1 + (b) "2#" is the counting string of length 2 + (c) "#3#" is the string of length 3 + (d) "#3#5#7#10#" is the string of length 10 + (e) "2#4#6#8#11#14#" is the string of length 14 +" + +My notes: ok, weird. Can we directly generate the single +hash-counting-string of length N? I think we can.. Turns out to be easy. + diff --git a/challenge-103/e-choroba/README b/challenge-103/e-choroba/README new file mode 100644 index 0000000000..efff637bcb --- /dev/null +++ b/challenge-103/e-choroba/README @@ -0,0 +1 @@ +Solutions by E. Choroba. diff --git a/challenge-103/eddy-hs/README b/challenge-103/eddy-hs/README new file mode 100644 index 0000000000..0ed51d222d --- /dev/null +++ b/challenge-103/eddy-hs/README @@ -0,0 +1 @@ +Solution by Eddy HS diff --git a/challenge-103/fabrizio-poggi/README b/challenge-103/fabrizio-poggi/README new file mode 100644 index 0000000000..3c17b29182 --- /dev/null +++ b/challenge-103/fabrizio-poggi/README @@ -0,0 +1 @@ +Solutions by Fabrizio Poggi. diff --git a/challenge-103/feng-chang/README b/challenge-103/feng-chang/README new file mode 100644 index 0000000000..74e56de3ed --- /dev/null +++ b/challenge-103/feng-chang/README @@ -0,0 +1 @@ +Solutions by Feng Chang. diff --git a/challenge-103/finanalyst/README b/challenge-103/finanalyst/README new file mode 100644 index 0000000000..15f7652e32 --- /dev/null +++ b/challenge-103/finanalyst/README @@ -0,0 +1 @@ +Solution by Richard Hainsworth, aka finanalyst diff --git a/challenge-103/finley/README b/challenge-103/finley/README new file mode 100644 index 0000000000..f08a121076 --- /dev/null +++ b/challenge-103/finley/README @@ -0,0 +1 @@ +Solution by Finley diff --git a/challenge-103/fjwhittle/README b/challenge-103/fjwhittle/README new file mode 100644 index 0000000000..7dcc95e189 --- /dev/null +++ b/challenge-103/fjwhittle/README @@ -0,0 +1 @@ +Solution by Francis Whittle diff --git a/challenge-103/frankivo/README b/challenge-103/frankivo/README new file mode 100644 index 0000000000..681b15b36c --- /dev/null +++ b/challenge-103/frankivo/README @@ -0,0 +1 @@ +Solution by Frank Oosterhuis. diff --git a/challenge-103/fred-zinn/README b/challenge-103/fred-zinn/README new file mode 100644 index 0000000000..17bac4f094 --- /dev/null +++ b/challenge-103/fred-zinn/README @@ -0,0 +1 @@ +Solution by Fred Zinn diff --git a/challenge-103/freddie-b/README b/challenge-103/freddie-b/README new file mode 100644 index 0000000000..823d7474b5 --- /dev/null +++ b/challenge-103/freddie-b/README @@ -0,0 +1 @@ +Solution by Freddie B diff --git a/challenge-103/garrett-goebel/README b/challenge-103/garrett-goebel/README new file mode 100644 index 0000000000..a8aa246dbb --- /dev/null +++ b/challenge-103/garrett-goebel/README @@ -0,0 +1 @@ +Solution by Garrett Goebel diff --git a/challenge-103/giuseppe-terlizzi/README b/challenge-103/giuseppe-terlizzi/README new file mode 100644 index 0000000000..0bff2a945c --- /dev/null +++ b/challenge-103/giuseppe-terlizzi/README @@ -0,0 +1 @@ +Solutions by Giuseppe Di Terlizzi. diff --git a/challenge-103/gugod/README b/challenge-103/gugod/README new file mode 100644 index 0000000000..509fd4c50c --- /dev/null +++ b/challenge-103/gugod/README @@ -0,0 +1 @@ +Solutions by Kang-min Liu. diff --git a/challenge-103/gugod/rust/.gitignore b/challenge-103/gugod/rust/.gitignore new file mode 100644 index 0000000000..ac77297bfe --- /dev/null +++ b/challenge-103/gugod/rust/.gitignore @@ -0,0 +1,2 @@ +ch-1 +ch-2 diff --git a/challenge-103/gugod/rust/Makefile b/challenge-103/gugod/rust/Makefile new file mode 100644 index 0000000000..efa7c49e4e --- /dev/null +++ b/challenge-103/gugod/rust/Makefile @@ -0,0 +1,10 @@ +all: ch-1 ch-2 + +clean: + rm ch-1 ch-2 + +ch-1: ch-1.rs + rustc $< + +ch-2: ch-2.rs + rustc $< diff --git a/challenge-103/guillermo-ramos/README b/challenge-103/guillermo-ramos/README new file mode 100644 index 0000000000..a39eb01bff --- /dev/null +++ b/challenge-103/guillermo-ramos/README @@ -0,0 +1 @@ +Solution by Guillermo Ramos. diff --git a/challenge-103/gustavo-chaves/README b/challenge-103/gustavo-chaves/README new file mode 100644 index 0000000000..a66bbbf8a3 --- /dev/null +++ b/challenge-103/gustavo-chaves/README @@ -0,0 +1 @@ +Solution by Gustavo Chaves diff --git a/challenge-103/hauke-d/README b/challenge-103/hauke-d/README new file mode 100644 index 0000000000..e201aa0abc --- /dev/null +++ b/challenge-103/hauke-d/README @@ -0,0 +1 @@ +Solutions by Hauke Dämpfling. diff --git a/challenge-103/henry-wong/README b/challenge-103/henry-wong/README new file mode 100644 index 0000000000..3d63a6f0be --- /dev/null +++ b/challenge-103/henry-wong/README @@ -0,0 +1 @@ +Solution by Henry Wong diff --git a/challenge-103/hstejas/README b/challenge-103/hstejas/README new file mode 100644 index 0000000000..969c5c0569 --- /dev/null +++ b/challenge-103/hstejas/README @@ -0,0 +1 @@ +Solution by Tejas diff --git a/challenge-103/ianrifkin/README b/challenge-103/ianrifkin/README new file mode 100644 index 0000000000..2d26297fb9 --- /dev/null +++ b/challenge-103/ianrifkin/README @@ -0,0 +1 @@ +Solution by Ian Rifkin. \ No newline at end of file diff --git a/challenge-103/izifresh/README b/challenge-103/izifresh/README new file mode 100644 index 0000000000..aedce7c408 --- /dev/null +++ b/challenge-103/izifresh/README @@ -0,0 +1 @@ +Solution by izifresh \ No newline at end of file diff --git a/challenge-103/jacques-guinnebault/README b/challenge-103/jacques-guinnebault/README new file mode 100644 index 0000000000..9d3e7c037f --- /dev/null +++ b/challenge-103/jacques-guinnebault/README @@ -0,0 +1 @@ +Solution by Jacques Guinnebault. diff --git a/challenge-103/jaime/README b/challenge-103/jaime/README new file mode 100644 index 0000000000..007cb58459 --- /dev/null +++ b/challenge-103/jaime/README @@ -0,0 +1,59 @@ +# Task #1 + +Write a script to display months from the year 1900 to 2019 where you +find 5 weekends i.e. 5 Friday, 5 Saturday and 5 Sunday. + +## Solution + +Months that contain five full weekends have 31 days and start on a Friday. Use `cal` to display March 2019 as an example. + +``` +#$ cal -h -m 3 2019 # cal is a UNIX utility + March 2019 +Su Mo Tu We Th Fr Sa + 1 2 + 3 4 5 6 7 8 9 +10 11 12 13 14 15 16 +17 18 19 20 21 22 23 +24 25 26 27 28 29 30 +31 +``` + +The solution runs `cal` and displays months that match this unique +layout. + +# Task #2 + +Write a script that can wrap the given paragraph at a specified column +using the greedy algorithm. + +A simple way to do word wrapping is to use a greedy algorithm that +puts as many words on a line as possible, then moving on to the next +line to do the same until there are no more words left to place. This +method is used by many modern word processors, such as OpenOffice.org +Writer and Microsoft Word[citation needed]. This algorithm always uses +the minimum possible number of lines but may lead to lines of widely +varying lengths. The following pseudocode implements this algorithm: + +``` +SpaceLeft := LineWidth +for each Word in Text + if (Width(Word) + SpaceWidth) > SpaceLeft + insert line break before Word in Text + SpaceLeft := LineWidth - Width(Word) + else + SpaceLeft := SpaceLeft - (Width(Word) + SpaceWidth) +``` + +Where LineWidth is the width of a line, SpaceLeft is the remaining +width of space on the line to fill, SpaceWidth is the width of a +single space character, Text is the input text to iterate over and +Word is a word in this text. + +## Solution + +The solution follows the recommended pseudocode. Minor improvements +avoid trailing whitespace. + +The script uses `Text::ParseWords::shellwords` from the standard +library to extract chunks of words from ``. diff --git a/challenge-103/jaldhar-h-vyas/README b/challenge-103/jaldhar-h-vyas/README new file mode 100644 index 0000000000..7dce927eca --- /dev/null +++ b/challenge-103/jaldhar-h-vyas/README @@ -0,0 +1 @@ +Solution by Jaldhar H. Vyas diff --git a/challenge-103/james-smith/READ