From ec311b177fa675877c45ed1518dceff5c787d13b Mon Sep 17 00:00:00 2001 From: Abigail Date: Thu, 6 Jan 2022 18:22:18 +0100 Subject: Week 3, part 2. Go and Java solutions. --- challenge-003/abigail/README.md | 2 ++ challenge-003/abigail/go/ch-2.go | 40 ++++++++++++++++++++++++++++++++++++ challenge-003/abigail/java/ch-2.java | 34 ++++++++++++++++++++++++++++++ 3 files changed, 76 insertions(+) create mode 100644 challenge-003/abigail/go/ch-2.go create mode 100644 challenge-003/abigail/java/ch-2.java diff --git a/challenge-003/abigail/README.md b/challenge-003/abigail/README.md index 5a95fe5f0c..966649afde 100644 --- a/challenge-003/abigail/README.md +++ b/challenge-003/abigail/README.md @@ -20,6 +20,8 @@ * [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) * [Lua](lua/ch-2.lua) * [Node.js](node/ch-2.js) * [Perl](perl/ch-2.pl) diff --git a/challenge-003/abigail/go/ch-2.go b/challenge-003/abigail/go/ch-2.go new file mode 100644 index 0000000000..d66b10dec9 --- /dev/null +++ b/challenge-003/abigail/go/ch-2.go @@ -0,0 +1,40 @@ +package main + +// +// See https://theweeklychallenge.org/blog/perl-weekly-challenge-003 +// + +// +// Run as: go run ch-2.go < input-file +// + +import ( + "fmt" +) + +func main () { + for { + var max int + n, err := fmt . Scanf ("%d", &max) + if n != 1 || err != nil { + break + } + + current_row := make ([] int, 1) + current_row [0] = 1; + fmt . Printf ("1\n") + + for row := 1; row <= max; row ++ { + next_row := make ([] int, row + 1) + next_row [0] = 1 + next_row [row] = 1 + fmt . Printf ("1 ") + for col := 1; col < row; col ++ { + next_row [col] = current_row [col - 1] + current_row [col] + fmt . Printf ("%d ", next_row [col]) + } + fmt . Printf ("1\n") + current_row = next_row + } + } +} diff --git a/challenge-003/abigail/java/ch-2.java b/challenge-003/abigail/java/ch-2.java new file mode 100644 index 0000000000..8f932a81db --- /dev/null +++ b/challenge-003/abigail/java/ch-2.java @@ -0,0 +1,34 @@ +// +// See https://theweeklychallenge.org/blog/perl-weekly-challenge-003 +// + +// +// 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 . hasNextInt ()) { + int max = scanner . nextInt (); + int [] current_row = new int [1]; + current_row [0] = 1; + System . out . println ("1"); + + for (int row = 1; row <= max; row ++) { + int [] next_row = new int [row + 1]; + next_row [0] = 1; + next_row [row] = 1; + System . out . print ("1 "); + for (int col = 1; col < row; col ++) { + next_row [col] = current_row [col - 1] + current_row [col]; + System . out . printf ("%d ", next_row [col]); + } + System . out . println ("1"); + current_row = next_row; + } + } + } +} -- cgit