aboutsummaryrefslogtreecommitdiff
path: root/challenge-003/abigail
diff options
context:
space:
mode:
authorAbigail <abigail@abigail.freedom.nl>2022-01-06 18:22:18 +0100
committerAbigail <abigail@abigail.freedom.nl>2022-01-06 18:22:18 +0100
commitec311b177fa675877c45ed1518dceff5c787d13b (patch)
tree09541a5ab75354a38231b9c2fae655f756e4390b /challenge-003/abigail
parentbb78b469bdba75ebe82f4f7c9d728281b97d515c (diff)
downloadperlweeklychallenge-club-ec311b177fa675877c45ed1518dceff5c787d13b.tar.gz
perlweeklychallenge-club-ec311b177fa675877c45ed1518dceff5c787d13b.tar.bz2
perlweeklychallenge-club-ec311b177fa675877c45ed1518dceff5c787d13b.zip
Week 3, part 2. Go and Java solutions.
Diffstat (limited to 'challenge-003/abigail')
-rw-r--r--challenge-003/abigail/README.md2
-rw-r--r--challenge-003/abigail/go/ch-2.go40
-rw-r--r--challenge-003/abigail/java/ch-2.java34
3 files changed, 76 insertions, 0 deletions
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;
+ }
+ }
+ }
+}