需求
打印空心金字塔
解析
// *
// * *
// * * *
// * * * *// 看成由星號、空格組成的矩形:
// 1 1 1 0
// 2 3 2 1
// 3 5 3 2
// 4 7 4 3// 層數:n
// 每層總元素數:2n-1
// 每星號數:n
// 每層空格數:n-1// 每層星號數:i
// 每層星號之間的空格數:i-1
// 每層中間元素數:i+i-1
// 每層星號左側的空格數:(2n-1-(i+i-1))/2
實現
package mainimport "fmt"func kong_ge(x int) string {var s stringfor i := 1; i <= x; i++ {s = s + " "}return s
}func xing_hao(x int) string {var s stringfor i := 1; i <= x; i++ {// s = s + "*"s = s + "*" + " "}return s
}func pyramid(n int) {var s0 stringfor i := 1; i <= n; i++ {s1 := kong_ge((2*n - 1 - (i + i - 1)) / 2)s2 := xing_hao(i)// s0 = s1 + s2 + s1s0 = s1 + s2fmt.Printf("%v\n", s0)}
}
* * * * * *
* * * *