zoukankan      html  css  js  c++  java
  • 杨辉三角实现

    1   # -*- coding: utf-8 -*-
    
    def triangles():
        line = [1]
        while True:
            yield line
            line = [x + y for x, y in zip([0] + line, line + [0])]
    
    n = 0
    for t in triangles():
        print(t)
        n = n + 1
        if n == 10:
            break

    2

    def triangles1(): # 杨辉三角形 L = [1] while True: yield L L = [1] + [L[n] + L[n-1] for n in range(1, len(L))] + [1]

    def triangles2(): # 杨辉三角形 L = [1] while True: yield L L = [L[n - 1] + L[n] for n in range(len(L))]

    def triangles3(): # 杨辉三角形 L = [1] while True: yield L for n in range(1, len(L)): L[n] = pre[n] + pre[n - 1] L.append(1) pre = L[:]

    n = 0 for t in triangles1(): # 直接修改函数名即可运行 print(t) n = n + 1 if n == 10: break

    3

    def triangles():
    i = 1
    L = [1]
    while True:
    yield L
    L = [0] + L + [0]
    L = [L[s]+L[s+1] for s in range(i+1)]
    i += 1
    n = 0
    for t in triangles():
    print(t)
    n += 1
    if n == 10:
    break

    4

    
    def triangles():
        l = []
        while True:
            last = 0
            lr = []
            for i in l:
                lr.append(last + i)
                last = i
            lr.append(1)
            l = lr
            yield lr
  • 相关阅读:
    HOWTO re
    数据类型
    字符串
    最大公约数
    this
    tip 2:找最小公倍数之Boost
    tip 1:一个简单的将int型转换成char的方法
    Item47
    成员函数模板
    item44:将与参数无关的代码抽离template
  • 原文地址:https://www.cnblogs.com/cranx/p/7112713.html
Copyright © 2011-2022 走看看