第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

以不同的順序打印序列

以不同的順序打印序列

繁星淼淼 2022-12-14 20:27:42
我能夠理解以下模式的邏輯,但沒有得到實現的方式,請有人在這里幫助我。我想要的模式如下所示,(在第一列中直到 5,然后在 5 之后的第二列離開第一行和最后一行等等。。)1 2 6 3 7 9 4 8 5
查看完整描述

1 回答

?
互換的青春

TA貢獻1797條經驗 獲得超6個贊

嘗試這個:


n = int(input())


for i in range(1, (n//2)+2):

    for j in range(i):

        print(i + ((n - 1) * j) - (j * (j - 1)) , end=' ')

    print()


for i in range((n//2)+2, n + 1):

    for j in range(n - i + 1):

        print(i + ((n - 1) * j) - (j * (j - 1)), end=' ')

    print()

輸出:


n = 9

2 10 

3 11 17 

4 12 18 22 

5 13 19 23 25 

6 14 20 24 

7 15 21 

8 16 

邏輯


n = 9

1              |

2 10           |(10 - 2) = 8

3 11 17        |(11 - 3) = 8, (17 - 11) = 6

4 12 18 22     |(12 - 4) = 8, (18 - 12) = 6, (22 - 18) = 4

5 13 19 23 25  |(13 - 5) = 8, (19 - 13) = 6, (23 - 19) = 4, (25 - 23) = 2

6 14 20 24     |(14 - 6) = 8, (20 - 14) = 6, (24 - 20) = 4

7 15 21        |(15 - 7) = 8, (21 - 15) = 6

8 16           |(16 - 8) = 8

9              |

例如在第 5 行

  • 第一個數字是5 + ((n - 1) * 0) - (0 * -1) = 5

  • 下一個值5 + ((n - 1) * 1) - (1 * 0) = 13

  • 下一個值5 + ((n - 1) * 2) - (1 * 2) = 19

  • 下一個值5 + ((n - 1) * 3) - (2 * 3) = 23

  • 下一個值5 + ((n - 1) * 4) - (3 * 4) = 25

5 以上是i值,0、1、2、3、4 是j

計算價值的通用公式i + ((n - 1) * j) - (j * (j - 1))


查看完整回答
反對 回復 2022-12-14
  • 1 回答
  • 0 關注
  • 95 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號