package main import ( "fmt" ) func main() { for { var n int _, err := fmt.Scan(&n) if err != nil { break } row := make([]int, 0) //定义第一行 //第一个元素 row[0]:=1 row = append(row, 1) for i := 1; i < n; i++ { row = append(row, row[i-1]+i+1) } // 下一行是上一行idx+1的数-1,推演都可以用第一行的数表示 //打印 for i := 0; i < n; i++ { for j := i; j < n; j++ { fmt.Printf("%d ", row[j]-i) } fmt.Println()//换行 } } }