题解 | #尼科彻斯定理#
尼科彻斯定理
https://www.nowcoder.com/practice/dbace3a5b3c4480e86ee3277f3fe1e85
package main import ( "fmt" ) func calculate(n int) []int { var ans []int if n % 2 == 1 { mid := n * n leftStart := mid - 2 * (n / 2) for i:=0; i<n; i++ { ans = append(ans, leftStart) leftStart += 2 } } else { mid := n * n leftStart := mid - 2 * (n / 2) + 1 for i:=0; i<n; i++ { ans = append(ans, leftStart) leftStart += 2 } } return ans } func main() { var n int fmt.Scan(&n) nums := calculate(n) var s string for _, num := range nums { s = s + fmt.Sprintf("%d+", num) } fmt.Println(s[:len(s)-1]) }
// 本题输入为一个整数数字,所以采用:fmt.Scan(&n)