题解 | #蛇形矩阵#

蛇形矩阵

https://www.nowcoder.com/practice/649b210ef44446e3b1cd1be6fa4cab5e

# 构造两个变量,第一个变量存行的增量,第二个变量存列的增量
# 数据就为:初始变量(+行的增量) + 列的增量

def first_number(n):
    if n == 1:
        return 1
    else:
        return first_number(n-1) + n - 1

def second_number(n, m):
    # n, m是位置
    if m == 1:
        return first_number(n)
    else:
        return second_number(n, m-1) + m + n - 1

number = int(input())
for i in range(number):
    for j in range(number - i):
        print(second_number(i+1, j+1), end=' ')
    print()

第一个变量即 1 2 4 7 11

1

1 + 1 = 2

2 + 2 = 4

4 + 3 = 7

7 + 4 = 11

...

(n) + n = f(n-1) + n-1

即第一列的所有数字可以表示为一个递推函数 f(n) = f(n-1) + n-1

全部评论

相关推荐

03-19 09:58
河海大学 Java
最喜欢春天的奇亚籽很...:同学,是小红书不是小哄书,一眼就能看到的错误
投了多少份简历才上岸
点赞 评论 收藏
分享
02-26 13:56
已编辑
重庆财经学院 Java
King987:你有实习经历,但是写的也太简单了,这肯定是不行的,你主要要包装实习经历这一块,看我的作品,你自己包装一下吧,或者发我,我给你出一期作品
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务