打印杨辉三角¶ 一、go语言实现¶ 普通数组实现for循环实现,左对齐for循环实现,居中打印 Go 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27package main import "fmt" func GetYangHuiTriangleNextLine(inArr []int) []int { var out []int var i int arrLen := len(inArr) out = append(out, 1) if 0 == arrLen { return out } for i = 0; i < arrLen-1; i++ { out = append(out, inArr[i]+inArr[i+1]) } out = append(out, 1) return out } func main() { nums := []int{} var i int for i = 0; i < 10; i++ { nums = GetYangHuiTriangleNextLine(nums) fmt.Println(nums) } } 输出结果: Bash 1 2 3 4 5 6 7 8 9 10[1] [1 1] [1 2 1] [1 3 3 1] [1 4 6 4 1] [1 5 10 10 5 1] [1 6 15 20 15 6 1] [1 7 21 35 35 21 7 1] [1 8 28 56 70 56 28 8 1] [1 9 36 84 126 126 84 36 9 1] Go 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25package main import "fmt" func triangle(n int) { var item []int for i := 1; i <= n; i++ { item_len := len(item) if item_len == 0 { item = append(item, 1) } else { temp_s := []int{1} for j := 0; j < item_len-1; j++ { temp_s = append(temp_s, item[j]+item[j+1]) } temp_s = append(temp_s, 1) item = temp_s } fmt.Println(item) } } func main() { triangle(12) } 输出结果: Bash 1 2 3 4 5 6 7 8 9 10 11 12[1] [1 1] [1 2 1] [1 3 3 1] [1 4 6 4 1] [1 5 10 10 5 1] [1 6 15 20 15 6 1] [1 7 21 35 35 21 7 1] [1 8 28 56 70 56 28 8 1] [1 9 36 84 126 126 84 36 9 1] [1 10 45 120 210 252 210 120 45 10 1] [1 11 55 165 330 462 462 330 165 55 11 1] Go 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19import "fmt" func main() { yanghuisanjiao(12) } func yanghuisanjiao(rows int) { for i := 0; i < rows; i++ { number := 1 for k := 0; k < rows-i; k++ { fmt.Print(" ") } for j := 0; j <= i; j++ { fmt.Printf("%5d", number) number = number * (i - j) / (j + 1) } fmt.Println() } } 输出结果: Bash 1 2 3 4 5 6 7 8 9 10 11 12 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 1 6 15 20 15 6 1 1 7 21 35 35 21 7 1 1 8 28 56 70 56 28 8 1 1 9 36 84 126 126 84 36 9 1 1 10 45 120 210 252 210 120 45 10 1 1 11 55 165 330 462 462 330 165 55 11 1