aboutsummaryrefslogtreecommitdiff
path: root/challenge-003/abigail/go/ch-2.go
diff options
context:
space:
mode:
Diffstat (limited to 'challenge-003/abigail/go/ch-2.go')
-rw-r--r--challenge-003/abigail/go/ch-2.go40
1 files changed, 40 insertions, 0 deletions
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
+ }
+ }
+}