diff options
| author | Abigail <abigail@abigail.freedom.nl> | 2022-01-17 21:11:03 +0100 |
|---|---|---|
| committer | Abigail <abigail@abigail.freedom.nl> | 2022-01-17 21:11:03 +0100 |
| commit | 8e3e74158d5d68493ec4bc6d7f60aa37d0449214 (patch) | |
| tree | 68ea533d59e5b6c5e61200ad3435bd395135a212 | |
| parent | ee9f8c8288170dc442f8199fc1d2f7e45ac4377c (diff) | |
| download | perlweeklychallenge-club-8e3e74158d5d68493ec4bc6d7f60aa37d0449214.tar.gz perlweeklychallenge-club-8e3e74158d5d68493ec4bc6d7f60aa37d0449214.tar.bz2 perlweeklychallenge-club-8e3e74158d5d68493ec4bc6d7f60aa37d0449214.zip | |
Week 148, part 1: 15 languages
| -rw-r--r-- | challenge-148/abigail/awk/ch-1.awk | 19 | ||||
| -rw-r--r-- | challenge-148/abigail/bash/ch-1.sh | 16 | ||||
| -rw-r--r-- | challenge-148/abigail/bc/ch-1.bc | 24 | ||||
| -rw-r--r-- | challenge-148/abigail/c/ch-1.c | 24 | ||||
| -rw-r--r-- | challenge-148/abigail/go/ch-1.go | 26 | ||||
| -rw-r--r-- | challenge-148/abigail/java/ch-1.java | 24 | ||||
| -rw-r--r-- | challenge-148/abigail/lua/ch-1.lua | 21 | ||||
| -rw-r--r-- | challenge-148/abigail/node/ch-1.js | 17 | ||||
| -rw-r--r-- | challenge-148/abigail/pascal/ch-1.p | 26 | ||||
| -rw-r--r-- | challenge-148/abigail/perl/ch-1.pl | 61 | ||||
| -rw-r--r-- | challenge-148/abigail/python/ch-1.py | 19 | ||||
| -rw-r--r-- | challenge-148/abigail/r/ch-1.r | 11 | ||||
| -rw-r--r-- | challenge-148/abigail/ruby/ch-1.rb | 11 | ||||
| -rw-r--r-- | challenge-148/abigail/scheme/ch-1.scm | 22 | ||||
| -rw-r--r-- | challenge-148/abigail/tcl/ch-1.tcl | 17 |
15 files changed, 338 insertions, 0 deletions
diff --git a/challenge-148/abigail/awk/ch-1.awk b/challenge-148/abigail/awk/ch-1.awk new file mode 100644 index 0000000000..547cd72064 --- /dev/null +++ b/challenge-148/abigail/awk/ch-1.awk @@ -0,0 +1,19 @@ +#!/usr/bin/awk + +# +# See https://theweeklychallenge.org/blog/perl-weekly-challenge-148 +# + +# +# Run as: awk -f ch-1.awk +# + +BEGIN { + for (i = 0; i <= 100; i ++) { + if (! match (i, /^0$|[1789]|^2.|[35]$/)) { + printf ("%d ", i) + } + } + printf ("\n") +} + diff --git a/challenge-148/abigail/bash/ch-1.sh b/challenge-148/abigail/bash/ch-1.sh new file mode 100644 index 0000000000..8c2a94a75b --- /dev/null +++ b/challenge-148/abigail/bash/ch-1.sh @@ -0,0 +1,16 @@ +#!/bin/sh + +# +# See https://theweeklychallenge.org/blog/perl-weekly-challenge-148 +# + +# +# Run as: bash ch-1.sh +# + +for ((i = 0; i <= 100; i ++)) +do if [[ !($i =~ ^0$|[1789]|^2.|[35]$) ]] + then printf "%d " $i + fi +done +echo diff --git a/challenge-148/abigail/bc/ch-1.bc b/challenge-148/abigail/bc/ch-1.bc new file mode 100644 index 0000000000..ae79ba0e77 --- /dev/null +++ b/challenge-148/abigail/bc/ch-1.bc @@ -0,0 +1,24 @@ +#!/usr/bin/bc + +# +# See https://theweeklychallenge.org/blog/perl-weekly-challenge-148 +# + +# +# Run as: bc ch-1.bc +# + +for (i = 0; i <= 100; i ++) { + t = i / 10 + u = i % 10 + if (!(i == 0 || t == 1 || u == 1 || t == 7 || u == 7 \ + || t == 8 || u == 8 || t == 9 || u == 9 \ + || t == 2 || u == 3 || u == 5 || i == 100)) { + print i, " " + } +} + +" +" + +halt diff --git a/challenge-148/abigail/c/ch-1.c b/challenge-148/abigail/c/ch-1.c new file mode 100644 index 0000000000..231a5efade --- /dev/null +++ b/challenge-148/abigail/c/ch-1.c @@ -0,0 +1,24 @@ +# include <stdlib.h> +# include <stdio.h> +# include <string.h> + +/* + * See https://theweeklychallenge.org/blog/perl-weekly-challenge-148 + */ + +/* + * Run as: cc -o ch-1.o ch-1.c; ./ch-1.o + */ + +int main (void) { + for (int i = 0; i <= 100; i ++) { + int u = i % 10; + int t = i / 10; + if (!(i == 0 || t == 1 || u == 1 || t == 7 || u == 7 + || t == 8 || u == 8 || t == 9 || u == 9 + || t == 2 || u == 3 || u == 5 || i == 100)) { + printf ("%d ", i); + } + } + printf ("\n"); +} diff --git a/challenge-148/abigail/go/ch-1.go b/challenge-148/abigail/go/ch-1.go new file mode 100644 index 0000000000..2fdce59eb8 --- /dev/null +++ b/challenge-148/abigail/go/ch-1.go @@ -0,0 +1,26 @@ +package main + +// +// See https://theweeklychallenge.org/blog/perl-weekly-challenge-148 +// + +// +// Run as: go run ch-1.go +// + +import ( + "fmt" +) + +func main () { + for i := 0; i <= 100; i ++ { + u := i % 10 + t := i / 10 + if !(i == 0 || t == 1 || u == 1 || t == 7 || u == 7 || + t == 8 || u == 8 || t == 9 || u == 9 || + t == 2 || u == 3 || u == 5 || i == 100) { + fmt . Printf ("%d ", i) + } + } + fmt . Printf ("\n") +} diff --git a/challenge-148/abigail/java/ch-1.java b/challenge-148/abigail/java/ch-1.java new file mode 100644 index 0000000000..4d9fb734e2 --- /dev/null +++ b/challenge-148/abigail/java/ch-1.java @@ -0,0 +1,24 @@ +// +// See https://theweeklychallenge.org/blog/perl-weekly-challenge-148 +// + +// +// Run as: ln ch-1.java ch1.java; javac ch1.java; java ch1 +// + +import java.util.*; + +public class ch1 { + public static void main (String [] args) { + for (int i = 0; i <= 100; i ++) { + int u = i % 10; + int t = i / 10; + if (!(i == 0 || t == 1 || u == 1 || t == 7 || u == 7 + || t == 8 || u == 8 || t == 9 || u == 9 + || t == 2 || u == 3 || u == 5 || i == 100)) { + System . out . printf ("%d ", i); + } + } + System . out . printf ("\n"); + } +} diff --git a/challenge-148/abigail/lua/ch-1.lua b/challenge-148/abigail/lua/ch-1.lua new file mode 100644 index 0000000000..246f1db062 --- /dev/null +++ b/challenge-148/abigail/lua/ch-1.lua @@ -0,0 +1,21 @@ +#!/opt/local/bin/lua + +-- +-- See https://theweeklychallenge.org/blog/perl-weekly-challenge-148 +-- + +-- +-- Run as: lua ch-1.lua +-- + +for i = 0, 100 do + local t = math . floor (i / 10) + local u = i % 10 + if not (i == 0 or t == 1 or u == 1 or t == 7 or u == 7 + or t == 8 or u == 8 or t == 9 or u == 9 + or t == 2 or u == 3 or u == 5 or i == 100) then + io . write (i, " ") + end +end + +io . write ("\n") diff --git a/challenge-148/abigail/node/ch-1.js b/challenge-148/abigail/node/ch-1.js new file mode 100644 index 0000000000..1c3ddca65f --- /dev/null +++ b/challenge-148/abigail/node/ch-1.js @@ -0,0 +1,17 @@ +#!/usr/local/bin/node + +// +// See https://theweeklychallenge.org/blog/perl-weekly-challenge-148 +// + +// +// Run as: node ch-1.js +// + + +console . log ( + Array . from (Array (101) . keys ()) + . filter (x => !(x . toString () . match (/^0$|[1789]|^2.|[35]$/))) + . join (" ") +) + diff --git a/challenge-148/abigail/pascal/ch-1.p b/challenge-148/abigail/pascal/ch-1.p new file mode 100644 index 0000000000..74d050e07c --- /dev/null +++ b/challenge-148/abigail/pascal/ch-1.p @@ -0,0 +1,26 @@ +Program XXX; + +(* *) +(* See https://theweeklychallenge.org/blog/perl-weekly-challenge-148 *) +(* *) + +(* *) +(* Run as: fpc -och-1.out ch-1.p; ./ch-1.out *) +(* *) + +var + i, t, u: integer; + +begin + for i := 1 to 100 do begin + t := i div 10; + u := i mod 10; + if not ((i = 0) or (t = 1) or (u = 1) or (t = 7) or (u = 7) + or (t = 8) or (u = 8) or (t = 9) or (u = 9) + or (t = 2) or (u = 3) or (u = 5) or (i = 100)) + then begin + write (i, ' '); + end; + end; + writeln (''); +end. diff --git a/challenge-148/abigail/perl/ch-1.pl b/challenge-148/abigail/perl/ch-1.pl new file mode 100644 index 0000000000..7feaa42382 --- /dev/null +++ b/challenge-148/abigail/perl/ch-1.pl @@ -0,0 +1,61 @@ +#!/opt/perl/bin/perl + +use 5.032; + +use strict; +use warnings; +no warnings 'syntax'; + +use experimental 'signatures'; +use experimental 'lexical_subs'; + +# +# See https://theweeklychallenge.org/blog/perl-weekly-challenge-148 +# + +# +# Run as: perl ch-1.pl +# + +# +# This is sequence A006933 in the OEIS +# + +# +# Number English Contains e +# 0 ZERO Y +# ?1 ONE Y +# ?2 TWO N +# ?3 THREE Y +# ?4 FOUR N +# ?5 FIVE Y +# ?6 SIX N +# ?7 SEVEN Y +# ?8 EIGHT Y +# ?9 NINE Y +# 10 TEN Y +# 11 ELEVEN Y +# 12 TWELVE Y +# 1? *TEEN Y +# 2? TWENTY* Y +# 3? THIRTY* N +# 4? FORTY* N +# 5? FIFTY* N +# 6? SIXTY* N +# 7? SEVENTY* Y +# 8? EIGHTY* Y +# 9? NINETY* Y +# 1? HUNDRED Y +# + +# +# So, in short, numbers containing an E when written in English +# are: - 0 +# - contains a 1, 7, 8 or 9 +# - ends with a 3, or 5 +# - starts with a 2, and is followed by another digit +# +# Any other numbers are eban. +# + +say join " " => grep {!/^0$ | [1789] | ^2. | [35]$/x} 0 .. 100; diff --git a/challenge-148/abigail/python/ch-1.py b/challenge-148/abigail/python/ch-1.py new file mode 100644 index 0000000000..f0d3591271 --- /dev/null +++ b/challenge-148/abigail/python/ch-1.py @@ -0,0 +1,19 @@ +#!/usr/local/bin/python3 + +# +# See https://theweeklychallenge.org/blog/perl-weekly-challenge-148 +# + +# +# Run as: python ch-1.py +# + +import sys, re + +for i in range (101): + if not (i == 0 or re . search (r'[1789]', str (i)) + or re . search (r'^2.', str (i)) + or re . search (r'[35]$', str (i))): + sys . stdout . write (str (i) + " ") + +sys . stdout . write ("\n") diff --git a/challenge-148/abigail/r/ch-1.r b/challenge-148/abigail/r/ch-1.r new file mode 100644 index 0000000000..45684794ab --- /dev/null +++ b/challenge-148/abigail/r/ch-1.r @@ -0,0 +1,11 @@ +#!/usr/local/bin/Rscript + +# +# See https://theweeklychallenge.org/blog/perl-weekly-challenge-148 +# + +# +# Run as: Rscript ch-1.r +# + +cat (grep ("^0$|[1789]|2.|[35]$", c (0:100), invert = TRUE, value = TRUE), "\n") diff --git a/challenge-148/abigail/ruby/ch-1.rb b/challenge-148/abigail/ruby/ch-1.rb new file mode 100644 index 0000000000..745041a7b8 --- /dev/null +++ b/challenge-148/abigail/ruby/ch-1.rb @@ -0,0 +1,11 @@ +#!/usr/bin/ruby + +# +# See https://theweeklychallenge.org/blog/perl-weekly-challenge-148 +# + +# +# Run as: ruby ch-1.rb +# + +puts ((0 .. 100) . reject {|n| n . to_s =~ /^0$|[1789]|^2.|[35]$/} . join (" ")) diff --git a/challenge-148/abigail/scheme/ch-1.scm b/challenge-148/abigail/scheme/ch-1.scm new file mode 100644 index 0000000000..db6fb840a6 --- /dev/null +++ b/challenge-148/abigail/scheme/ch-1.scm @@ -0,0 +1,22 @@ +#!/usr/local/bin/guile +!# + +;;; +;;; See https://theweeklychallenge.org/blog/perl-weekly-challenge-148 +;;; + +;;; +;;; Run as: guile --no-auto-compile ch-1.scm +;;; + +(use-modules (ice-9 regex)) +(use-modules (ice-9 format)) + +(define pat "^0$|[1789]|^2.|[35]$") + +(do ((i 0 (1+ i))) + ((> i 100)) + (if (not (string-match pat (number->string i))) + (format #t "~d " i))) + +(newline) diff --git a/challenge-148/abigail/tcl/ch-1.tcl b/challenge-148/abigail/tcl/ch-1.tcl new file mode 100644 index 0000000000..a4d6a4bd13 --- /dev/null +++ b/challenge-148/abigail/tcl/ch-1.tcl @@ -0,0 +1,17 @@ +#!/usr/local/opt/tcl-tk/bin/tclsh + +# +# See https://theweeklychallenge.org/blog/perl-weekly-challenge-148 +# + +# +# Run as: tclsh ch-1.tcl +# + +for {set i 0} {$i <= 100} {incr i} { + if {![regexp {^0$|[1789]|^2.|[35]$} $i]} { + puts -nonewline "${i} " + } +} + +puts "" |
