电竞比分网-中国电竞赛事及体育赛事平台

分享

算法創(chuàng)作|規(guī)則數(shù)列計(jì)算解決方法

 算法與編程之美 2021-05-12

問(wèn)題描述

如下圖所示,小明用從 1 開(kāi)始的正整數(shù)蛇形填充無(wú)限大的矩陣。1 2 6 7 15 …3 5 8 14 …4 9 13 …10 12 …11 ……(1)容易看出矩陣第二行第二列中的數(shù)是 5。請(qǐng)你計(jì)算矩陣中第 20 行第 20 列的數(shù)是多少?

解決方案

先設(shè)置循環(huán)次數(shù)為20次,橫向和縱向都為20,再根據(jù)奇偶數(shù)設(shè)置規(guī)則,再循序漸進(jìn),最后找出數(shù)字

代碼清單Python代碼

matrix = [[0 for i in range(50)] for i in range(50)]

matrix[0][0] = 1

row = len(matrix)

col = len(matrix)

i=0

j=0

for k in range(20):

    if i == 0 and j % 2 == 0:

        j += 1

        matrix[i][j] = matrix[i][j-1] + 1

        while j > 0:

            matrix[i+1][j-1] = matrix[i][j] + 1

            i += 1

            j -= 1

    if j == 0 and i % 2 == 1:

        i += 1

        matrix[i][j] = matrix[i-1][j] + 1

        while i > 0:

            matrix[i-1][j+1] = matrix[i][j] + 1

            j += 1

            i -= 1

print(matrix)

結(jié)語(yǔ)

此代碼計(jì)算了規(guī)則數(shù)列的數(shù)字尋找問(wèn)題,在之后會(huì)不斷改進(jìn)代碼。

實(shí)習(xí)編輯:王曉姣

作者:彭微 張冬梅 牛雨豪

    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類(lèi)似文章 更多