2024/5/9

所花时间:1小时

代码行:70行

博客量:1篇

了解到的知识点:

def count_ways(n):

    if n == 1:

        return 1

    elif n == 2:

        return 2

    elif n == 3:

        return 4

    else:

        # 初始化台阶数为1、2、3的情况

        a, b, c = 1, 2, 4

        ways = 0

        

        # 从第4个台阶开始计算方法数

        for i in range(4, n+1):

            ways = a + b + c

            a, b, c = b, c, ways

        

        return ways

 

# 读取输入的楼梯台阶数

n = int(input())

 

# 计算小朋友上这段楼梯的方法数

ways = count_ways(n)

 

# 输出结果

print(ways)

def generate_pascal_triangle(n):

    triangle = []

    for i in range(n):

        row = [1] * (i+1)  # 初始化每行的元素为1

        if i >= 2:

            for j in range(1, i):

                row[j] = triangle[i-1][j-1] + triangle[i-1][j]  # 计算当前元素的值

        triangle.append(row)  # 将当前行添加到三角形列表中

    return triangle

 

def print_pascal_triangle(triangle):

    for row in triangle:

        for num in row:

            print(f'{num:5}', end='')  # 每个数占5位,右对齐

        print()  # 换行

 

# 读取输入的行数n

n = int(input("请输入行数n:"))

 

# 生成并打印n行杨辉三角形

pascal_triangle = generate_pascal_triangle(n)

print_pascal_triangle(pascal_triangle)

posted @ 2024-05-09 20:55  为20岁努力  阅读(2)  评论(0编辑  收藏  举报