diff options
| author | Mohammad S Anwar <Mohammad.Anwar@yahoo.com> | 2022-01-04 21:18:09 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-01-04 21:18:09 +0000 |
| commit | d1581f755d50e5b3a5ccf74a25280f39caa809fc (patch) | |
| tree | 14d50cbd3a19dddf06cb89f16ea57155024e1da6 | |
| parent | d8abd054e8e70147188d2b57c922ba092e2aecff (diff) | |
| parent | 41c3d16c97874e85d25f28d37e59df3e2d9a9d66 (diff) | |
| download | perlweeklychallenge-club-d1581f755d50e5b3a5ccf74a25280f39caa809fc.tar.gz perlweeklychallenge-club-d1581f755d50e5b3a5ccf74a25280f39caa809fc.tar.bz2 perlweeklychallenge-club-d1581f755d50e5b3a5ccf74a25280f39caa809fc.zip | |
Merge pull request #5463 from Abigail/abigail/week-146
Week 146
55 files changed, 859 insertions, 2 deletions
diff --git a/challenge-146/abigail/README.md b/challenge-146/abigail/README.md index 9841e920c1..f819e6f82c 100644 --- a/challenge-146/abigail/README.md +++ b/challenge-146/abigail/README.md @@ -4,24 +4,40 @@ * [AWK](awk/ch-1.awk) * [Bash](bash/ch-1.sh) -* [bc](bc/ch-1.bc) +* [Basic](basic/ch-1.bas) +* [Bc](bc/ch-1.bc) +* [Befunge-93](befunge-93/ch-1.bf93) * [C](c/ch-1.c) +* [Cobol](cobol/ch-1.cb) +* [Csh](csh/ch-1.csh) +* [Erlang](lua/ch-1.erl) +* [Forth](lua/ch-1.fs) +* [Fortran](fortran/ch-1.f90) * [Go](go/ch-1.go) * [Java](java/ch-1.java) * [Lua](lua/ch-1.lua) +* [m4](m4/ch-1.m4) +* [MMIX](mmix/ch-1.mms) * [Node.js](node/ch-1.js) +* [OCaml](ocaml/ch-1.ml) * [Pascal](pascal/ch-1.p) * [Perl](perl/ch-1.pl) +* [PHP](php/ch-1.php) +* [PostScript](postscript/ch-1.ps) * [Python](python/ch-1.py) * [R](r/ch-1.r) +* [Rexx](rexx/ch-1.rexx) * [Ruby](ruby/ch-1.rb) -* [Tcl](tcl/ch-1.tcl) * [Scheme](scheme/ch-1.scm) +* [Sed](sed/ch-1.sed) +* [SQL](sql/ch-1.sql) +* [Tcl](tcl/ch-1.tcl) ## Part 2 * [AWK](awk/ch-2.awk) * [Bash](bash/ch-2.sh) +* [bc](bc/ch-2.bc) * [C](c/ch-2.c) * [Go](go/ch-2.go) * [Java](java/ch-2.java) diff --git a/challenge-146/abigail/awk/ch-1.awk b/challenge-146/abigail/awk/ch-1.awk new file mode 100644 index 0000000000..53c43cdbc1 --- /dev/null +++ b/challenge-146/abigail/awk/ch-1.awk @@ -0,0 +1,13 @@ +#!/usr/bin/awk + +# +# See ../README.md +# + +# +# Run as: awk -f ch-1.awk +# + +BEGIN { + print "104743" +}
\ No newline at end of file diff --git a/challenge-146/abigail/awk/ch-2.awk b/challenge-146/abigail/awk/ch-2.awk new file mode 100644 index 0000000000..6556f70797 --- /dev/null +++ b/challenge-146/abigail/awk/ch-2.awk @@ -0,0 +1,30 @@ +#!/usr/bin/awk + +# +# See ../README.md +# + +# +# Run as: awk -f ch-2.awk < input-file +# + +BEGIN { + FS = "/" +} + +{ + a = $1; b = $2 + for (i = 1; i <= 2; i ++) { + if (a < b) { + b = b - a + } + else { + a = a - b + } + if (!a || !b) { + break + } + printf "%d/%d ", a, b + } + printf "\n" +} diff --git a/challenge-146/abigail/bash/ch-1.sh b/challenge-146/abigail/bash/ch-1.sh new file mode 100644 index 0000000000..64ba3a2d29 --- /dev/null +++ b/challenge-146/abigail/bash/ch-1.sh @@ -0,0 +1,11 @@ +#!/bin/sh + +# +# See ../README.md +# + +# +# Run as: bash ch-1.sh +# + +echo "104743"
\ No newline at end of file diff --git a/challenge-146/abigail/bash/ch-2.sh b/challenge-146/abigail/bash/ch-2.sh new file mode 100644 index 0000000000..5a5ee147f5 --- /dev/null +++ b/challenge-146/abigail/bash/ch-2.sh @@ -0,0 +1,27 @@ +#!/bin/sh + +# +# See ../README.md +# + +# +# Run as: bash ch-2.sh < input-file +# + +set -f + +IFS=/ + +while read a b +do for ((i = 1; i <= 2; i ++)) + do if ((a < b)) + then ((b -= a)) + else ((a -= b)) + fi + if ((a == 0 || b == 0)) + then break + fi + printf "$a/$b " + done + echo +done diff --git a/challenge-146/abigail/basic/ch-1.bas b/challenge-146/abigail/basic/ch-1.bas new file mode 100644 index 0000000000..0d4fc1fd20 --- /dev/null +++ b/challenge-146/abigail/basic/ch-1.bas @@ -0,0 +1,9 @@ +010 REM +020 REM See ../README.md +030 REM + +040 REM +050 REM Run as: basic ch-1.bas +060 REM + +100 PRINT "104743"
\ No newline at end of file diff --git a/challenge-146/abigail/bc/ch-1.bc b/challenge-146/abigail/bc/ch-1.bc new file mode 100644 index 0000000000..6a298809f8 --- /dev/null +++ b/challenge-146/abigail/bc/ch-1.bc @@ -0,0 +1,10 @@ +# +# See ../README.md +# + +# +# Run as: bc ch-1.bc +# +"104743 +" +quit
\ No newline at end of file diff --git a/challenge-146/abigail/bc/ch-2.bc b/challenge-146/abigail/bc/ch-2.bc new file mode 100644 index 0000000000..04f267e202 --- /dev/null +++ b/challenge-146/abigail/bc/ch-2.bc @@ -0,0 +1,26 @@ +# +# See ../README.md +# + +# +# Run as: bc ch-2.bc < input-file +# + +while (1) { + a = read (); if (a == 0) {break} + b = read (); if (b == 0) {break} + for (i = 1; i <= 2; i ++) { + if (a < b) { + b = b - a + } else { + a = a - b + } + if (a == 0 || b == 0) { + break + } + print a, "/", b, " " + } + " +" +} + diff --git a/challenge-146/abigail/befunge-93/ch-1.bf93 b/challenge-146/abigail/befunge-93/ch-1.bf93 new file mode 100644 index 0000000000..2db34c5d84 --- /dev/null +++ b/challenge-146/abigail/befunge-93/ch-1.bf93 @@ -0,0 +1,2 @@ +< v,_@#:< "104743" +55 + > ^
\ No newline at end of file diff --git a/challenge-146/abigail/blog.txt b/challenge-146/abigail/blog.txt new file mode 100644 index 0000000000..52f0ef8198 --- /dev/null +++ b/challenge-146/abigail/blog.txt @@ -0,0 +1 @@ +https://abigail.github.io/HTML/Perl-Weekly-Challenge/week-146-1.html diff --git a/challenge-146/abigail/blog1.txt b/challenge-146/abigail/blog1.txt new file mode 100644 index 0000000000..c3d3aa63e3 --- /dev/null +++ b/challenge-146/abigail/blog1.txt @@ -0,0 +1 @@ +https://abigail.github.io/HTML/Perl-Weekly-Challenge/week-146-2.html diff --git a/challenge-146/abigail/c/ch-1.c b/challenge-146/abigail/c/ch-1.c new file mode 100644 index 0000000000..c2fb69f376 --- /dev/null +++ b/challenge-146/abigail/c/ch-1.c @@ -0,0 +1,16 @@ +# include <stdlib.h> +# include <stdio.h> +# include <string.h> + +/* + * See ../README.md + */ + +/* + * Run as: cc -o ch-1.o ch-1.c; ./ch-1.o + */ + +int main (void) { + printf ("104743\n"); + exit (0); +}
\ No newline at end of file diff --git a/challenge-146/abigail/c/ch-2.c b/challenge-146/abigail/c/ch-2.c new file mode 100644 index 0000000000..ca81789f6f --- /dev/null +++ b/challenge-146/abigail/c/ch-2.c @@ -0,0 +1,33 @@ +# include <stdlib.h> +# include <stdio.h> +# include <string.h> + +/* + * See ../README.md + */ + +/* + * Run as: cc -o ch-2.o ch-2.c; ./ch-2.o < input-file + */ + +int main (void) { + int a, b; + + while (scanf ("%d/%d", &a, &b) == 2) { + for (int i = 1; i <= 2; i ++) { + if (a < b) { + b -= a; + } + else { + a -= b; + } + if (!a || !b) { + break; + } + printf ("%d/%d ", a, b); + } + printf ("\n"); + } + + return (0); +} diff --git a/challenge-146/abigail/cobol/ch-1.cb b/challenge-146/abigail/cobol/ch-1.cb new file mode 100644 index 0000000000..6769477733 --- /dev/null +++ b/challenge-146/abigail/cobol/ch-1.cb @@ -0,0 +1,14 @@ +IDENTIFICATION DIVISION. +PROGRAM-ID. XXX. + +*> +*> See ../README.md +*> + +*> +*> Run as: cobc -xF -o ch-1.o ch-1.cb; ./ch-1.o +*> + +PROCEDURE DIVISION. + DISPLAY "104743". + STOP RUN. diff --git a/challenge-146/abigail/csh/ch-1.csh b/challenge-146/abigail/csh/ch-1.csh new file mode 100644 index 0000000000..4997623bf2 --- /dev/null +++ b/challenge-146/abigail/csh/ch-1.csh @@ -0,0 +1,11 @@ +#!/bin/csh + +# +# See ../README.md +# + +# +# Run as: csh ch-1.csh +# + +echo "104743"
\ No newline at end of file diff --git a/challenge-146/abigail/erlang/ch-1.erl b/challenge-146/abigail/erlang/ch-1.erl new file mode 100644 index 0000000000..978a2ef1b4 --- /dev/null +++ b/challenge-146/abigail/erlang/ch-1.erl @@ -0,0 +1,15 @@ +% +% See ../README.md +% + +% +% Run as: ln ch-1.erl ch1.erl +% erl -compile ch1 +% erl -noshell -s ch1 main -s init stop +% + +-module (ch1). +-export ([main/0]). + +main () -> + io:fwrite ("104743\n").
\ No newline at end of file diff --git a/challenge-146/abigail/forth/ch-1.fs b/challenge-146/abigail/forth/ch-1.fs new file mode 100644 index 0000000000..0ee96cf454 --- /dev/null +++ b/challenge-146/abigail/forth/ch-1.fs @@ -0,0 +1,5 @@ +\ +\ See ../README.md +\ + +.( 104743)
\ No newline at end of file diff --git a/challenge-146/abigail/fortran/ch-1.f90 b/challenge-146/abigail/fortran/ch-1.f90 new file mode 100644 index 0000000000..4cda0b2f0b --- /dev/null +++ b/challenge-146/abigail/fortran/ch-1.f90 @@ -0,0 +1,12 @@ +! +! See ../README.md +! + +! +! Run as: gfortran -o ch-1.o ch-1.f90; ./ch-1.o +! + +program ch1 + implicit none + write (*, *) "104743" +end
\ No newline at end of file diff --git a/challenge-146/abigail/go/ch-1.go b/challenge-146/abigail/go/ch-1.go new file mode 100644 index 0000000000..52cc0af532 --- /dev/null +++ b/challenge-146/abigail/go/ch-1.go @@ -0,0 +1,15 @@ +package main + +// +// See ../README.md +// + +// +// Run as: go run ch-1.go +// + +import "fmt" + +func main () { + fmt . Print ("104743\n") +}
\ No newline at end of file diff --git a/challenge-146/abigail/go/ch-2.go b/challenge-146/abigail/go/ch-2.go new file mode 100644 index 0000000000..6aff154b1f --- /dev/null +++ b/challenge-146/abigail/go/ch-2.go @@ -0,0 +1,42 @@ +package main + +// +// See ../README.md +// + +// +// Run as: go run ch-2.go +// + +import ( + "fmt" + "bufio" + "os" +) + +func main () { + var reader = bufio . NewReader (os. Stdin) + for { + var text, err = reader . ReadString ('\n') + if (err != nil) { + break + } + var a, b int; + var n, err2 = fmt . Sscanf (text, "%d/%d", &a, &b) + if (n != 2 || err2 != nil) { + continue + } + for i := 1; i <= 2; i ++ { + if a < b { + b -= a + } else { + a -= b + } + if a == 0 || b == 0 { + break + } + fmt . Printf ("%d/%d ", a, b) + } + fmt . Println ("") + } +} diff --git a/challenge-146/abigail/java/ch-1.java b/challenge-146/abigail/java/ch-1.java new file mode 100644 index 0000000000..33133c5aa1 --- /dev/null +++ b/challenge-146/abigail/java/ch-1.java @@ -0,0 +1,13 @@ +// +// See ../README.md +// + +// +// Run as: ln ch-1.java ch1.java; javac ch1; java ch1 +// + +public class ch1 { + public static void main (String [] args) { + System . out . print ("104743\n"); + } +}
\ No newline at end of file diff --git a/challenge-146/abigail/java/ch-2.java b/challenge-146/abigail/java/ch-2.java new file mode 100644 index 0000000000..07ab2feea9 --- /dev/null +++ b/challenge-146/abigail/java/ch-2.java @@ -0,0 +1,33 @@ +// +// See ../README.md +// + +// +// Run as: ln ch-2.java ch2.java; javac ch2.java; java ch2 < input-file +// + +import java.util.*; + +public class ch2 { + public static void main (String [] args) { + Scanner scanner = new Scanner (System . in); + while (scanner . hasNextLine ()) { + String [] parts = scanner . nextLine () . trim () . split ("/"); + int a = Integer . parseInt (parts [0]); + int b = Integer . parseInt (parts [1]); + for (int i = 1; i <= 2; i ++) { + if (a < b) { + b -= a; + } + else { + a -= b; + } + if (a == 0 || b == 0) { + break; + } + System . out . printf ("%d/%d ", a, b); + } + System . out . printf ("\n"); + } + } +} diff --git a/challenge-146/abigail/lua/ch-1.lua b/challenge-146/abigail/lua/ch-1.lua new file mode 100644 index 0000000000..563c4fbf4b --- /dev/null +++ b/challenge-146/abigail/lua/ch-1.lua @@ -0,0 +1,11 @@ +#!/opt/local/bin/lua + +-- +-- See ../README.md +-- + +-- +-- Run as: lua ch-1.lua +-- + +print ("104743")
\ No newline at end of file diff --git a/challenge-146/abigail/lua/ch-2.lua b/challenge-146/abigail/lua/ch-2.lua new file mode 100644 index 0000000000..7429222642 --- /dev/null +++ b/challenge-146/abigail/lua/ch-2.lua @@ -0,0 +1,28 @@ +#!/opt/local/bin/lua + +-- +-- See ../README.md +-- + +-- +-- Run as: lua ch-2.lua < input-file +-- + +for line in io . lines () do + local _, _, a, b = line : find ("([0-9]+)/([0-9]+)") + a = tonumber (a) + b = tonumber (b) + for i = 1, 2 do + if a < b then + b = b - a + else + a = a - b + end + if a == 0 or b == 0 then + goto out_of_loop + end + io . write (a .. "/" .. b .. " ") + end + ::out_of_loop:: + io . write ("\n") +end diff --git a/challenge-146/abigail/m4/ch-1.m4 b/challenge-146/abigail/m4/ch-1.m4 new file mode 100644 index 0000000000..3f5232d9b5 --- /dev/null +++ b/challenge-146/abigail/m4/ch-1.m4 @@ -0,0 +1 @@ +104743 diff --git a/challenge-146/abigail/mmix/ch-1.mms b/challenge-146/abigail/mmix/ch-1.mms new file mode 100644 index 0000000000..a5c39532dd --- /dev/null +++ b/challenge-146/abigail/mmix/ch-1.mms @@ -0,0 +1,16 @@ +% +% See ../README.md +% + +% +% Run as: mmixal -o ch-1.mmo ch-1.mms; mmix -q ch-1.mmo +% + LOC Data_Segment + GREG @ +Text BYTE "104743",10,0 + + LOC #100 + +Main LDA $255,Text + TRAP 0,Fputs,StdOut + TRAP 0,Halt,0
\ No newline at end of file diff --git a/challenge-146/abigail/node/ch-1.js b/challenge-146/abigail/node/ch-1.js new file mode 100644 index 0000000000..51ce680b89 --- /dev/null +++ b/challenge-146/abigail/node/ch-1.js @@ -0,0 +1,11 @@ +#!/usr/local/bin/node + +// +// See ../README.md +// + +// +// Run as: node ch-1.js +// + +console . log ("104743")
\ No newline at end of file diff --git a/challenge-146/abigail/node/ch-2.js b/challenge-146/abigail/node/ch-2.js new file mode 100644 index 0000000000..ce7fba74c7 --- /dev/null +++ b/challenge-146/abigail/node/ch-2.js @@ -0,0 +1,31 @@ +#!/usr/local/bin/node + +// +// See ../README.md +// + +// +// Run as: node ch-2.js < input-file +// + + require ('readline') +. createInterface ({input: process . stdin}) +. on ('line', line => { + let [a, b] = line . trim () . split ("/") . map (x => +x) + for (let i = 1; i <= 2; i ++) { + if (a < b) { + b -= a + } + else { + a -= b + } + if (a == 0 || b == 0) { + break + } + process . stdout . write (a . toString ()) + process . stdout . write ("/") + process . stdout . write (b . toString ()) + process . stdout . write (" ") + } + process . stdout . write ("\n") +}) diff --git a/challenge-146/abigail/ocaml/ch-1.ml b/challenge-146/abigail/ocaml/ch-1.ml new file mode 100644 index 0000000000..606c4d6dcc --- /dev/null +++ b/challenge-146/abigail/ocaml/ch-1.ml @@ -0,0 +1,9 @@ +(* *) +(* See ../README.md *) +(* *) + +(* *) +(* Run as: ocaml ch-1.ml *) +(* *) + +print_endline "104743";
\ No newline at end of file diff --git a/challenge-146/abigail/pascal/ch-1.p b/challenge-146/abigail/pascal/ch-1.p new file mode 100644 index 0000000000..5cbe457fcf --- /dev/null +++ b/challenge-146/abigail/pascal/ch-1.p @@ -0,0 +1,13 @@ +Program XXX; + +(* *) +(* See ../README.md *) +(* *) + +(* *) +(* Run as: fpc -och-1.out ch-1.p; ./ch-1.out *) +(* *) + +begin + writeln ('104743') +end.
\ No newline at end of file diff --git a/challenge-146/abigail/pascal/ch-2.p b/challenge-146/abigail/pascal/ch-2.p new file mode 100644 index 0000000000..983d69379c --- /dev/null +++ b/challenge-146/abigail/pascal/ch-2.p @@ -0,0 +1,42 @@ +Program ch2; + +(* *) +(* See ../README.md *) +(* *) + +(* *) +(* Run as: fpc -och-2.out ch-2.p; ./ch-2.out < input-file *) +(* *) + +uses + sysutils; + +var + line: string; + a, b: integer; + i, x: integer; + +begin + while not eof do begin + readln (line); + x := pos ('/', line); + |
