當我嘗試用 golang 逆向制作數字金字塔時遇到問題我已經可以用這段代碼制作一個數字金字塔:var ( input, bil int ) fmt.Scanln(&input) bil = 9 for b := 1; b <= input; b++ { for c := input; c >= b; c-- { //spasi fmt.Print(" ") } for d := 1; d <= b; d++ { //bintang fmt.Print(bil) if bil == -1 { bil = 9 } bil = bil - 1 } fmt.Println() }輸入 :5輸出 : 9 87 654 3210 98765我怎樣做一個像這樣的反向的輸入:5輸出 9 78 456 012356789
1 回答

吃雞游戲
TA貢獻1829條經驗 獲得超7個贊
只需更改計算當前數字的方式即可 ( fmt.Print(bil-d))
func main() {
var (
input, bil int
)
fmt.Scanln(&input)
bil = 9
for b := 1; b <= input; b++ {
for c := input; c >= b; c-- {
fmt.Print(" ")
}
for d := b - 1; d >= 0; d-- {
v := bil - d
if v < 0 {
v = v%10 + 10
}
fmt.Print(v)
}
bil -= b
if bil < 0 {
bil = bil%10 + 10
}
fmt.Println()
}
}
請注意,我還更改了邊界條件的處理。
- 1 回答
- 0 關注
- 94 瀏覽
添加回答
舉報
0/150
提交
取消