summaryrefslogtreecommitdiff
path: root/go/pascals-triangle/pascals_triangle.go
diff options
context:
space:
mode:
authorDimitri Sokolyuk <demon@dim13.org>2016-08-26 04:18:56 +0200
committerDimitri Sokolyuk <demon@dim13.org>2016-08-26 04:18:56 +0200
commit19da2f10c6e999c0106b6be8862c3f0bbd68dd44 (patch)
tree6a49e4cc027eb42ebeca9271ac5fe1dee2bf9f95 /go/pascals-triangle/pascals_triangle.go
parent0162fa190cdf0a3b7b5ce27855b7b67fd26278aa (diff)
Sovle pascal triangle
Diffstat (limited to 'go/pascals-triangle/pascals_triangle.go')
-rw-r--r--go/pascals-triangle/pascals_triangle.go16
1 files changed, 16 insertions, 0 deletions
diff --git a/go/pascals-triangle/pascals_triangle.go b/go/pascals-triangle/pascals_triangle.go
new file mode 100644
index 0000000..613185e
--- /dev/null
+++ b/go/pascals-triangle/pascals_triangle.go
@@ -0,0 +1,16 @@
+package pascal
+
+func Triangle(n int) [][]int {
+ line := func(n int) []int {
+ l := []int{1}
+ for k := 1; k <= n; k++ {
+ l = append(l, l[k-1]*(n-k+1)/(k))
+ }
+ return l
+ }
+ t := [][]int{}
+ for i := 0; i < n; i++ {
+ t = append(t, line(i))
+ }
+ return t
+}