Hann Yang 2021-10-28 09:18 采纳率: 100%
浏览 46
已结题

2021.10.22 杨辉三角形

【每日一题】2021.10.22

编程(至少用2种方法)用以下列格式输出杨辉三角形,比如n=1~8输出 :
Y( 1) = [1]
Y( 2) = [1, 1]
Y( 3) = [1, 2, 1]
Y( 4) = [1, 3, 3, 1]
Y( 5) = [1, 4, 6, 4, 1]
Y( 6) = [1, 5, 10, 10, 5, 1]
Y( 7) = [1, 6, 15, 20, 15, 6, 1]
Y( 8) = [1, 7, 21, 35, 35, 21, 7, 1]
...... ......

编程语言:包括但不限于Python

  • 写回答

1条回答 默认 最新

  • 辉煌仪奇 2021-10-28 09:27
    关注
    # 杨辉三角
    def yangHuiSanJiao(n):
        # 打印第一行和第二行
        if n>=1:
            print(f'Y({1})=',end='')
            print("[1]".center(50))
            next_line = [1, 1]
        if n>=2:
            print(f'Y({2})=',end='')
            second_line = '['+','.join([str(i) for i in next_line])+']'
            print(second_line)
    
        for j in range(2, n):
            mid = []
    
            for i in range(0, len(next_line) - 1):
                mid.append(next_line[i] + next_line[i + 1])
    
            next_line = [1] + mid + [1]
            print(f'Y({j+1})=', end='')
            fin ='['+ ','.join([str(i) for i in next_line])+']'
            print(fin)
    #
    yangHuiSanJiao(5)
    
    def next_line(lst):
        newline = [1]
        for x in range(len(lst) - 1):
            newline.append(lst[x] + lst[x + 1])
        newline.append(1)
        return newline
    
    
    # 定义二位数组,存放;如果为了节约空间,也可以不用放二维数组
    def yanglst(n):
        yanghui = []
        L = [1]
        for x in range(n):
            yanghui.append(L)
            L = next_line(L)
        return yanghui
    
    i=0
    for I in yanglst(8):
        i+=1
        print(f"Y({i})=",I)
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 10月31日
  • 已采纳回答 10月28日
  • 创建了问题 10月28日

悬赏问题

  • ¥15 IPXE网刻客户机找不到服务端
  • ¥15 小贝360-4 配二个 华772S 设置WⅰFi5G 连接
  • ¥15 vs2022的QT报错,好像是缺少winextras
  • ¥15 怎么看 cst中一个面的功率分布图
  • ¥15 c语言数据结构求9999
  • ¥15 Fiddler无法对部分小程序抓包
  • ¥60 Python代码 ip首部检验和计算代码 版本协议 首部长度 源地址 目的地址 存活时间
  • ¥18 微机原理汇编的综合实验
  • ¥15 LD衰减图用R语言对其可视化
  • ¥15 Mermaid语法生成的svg在Axure无法编辑