r“”用于OEIS序列号A000172的Python模块。Franel数a(n)=总和C(n,k)^3,k=0..n。(n+1)^2*a(n+1”)=(7n^2+7n+2)*a(n)+8n^2*a(n-1)。使用示例。----------------------------------------------------------------------->>>从a000172导入*>>>打印000172_列表(10)[1, 2, 10, 56, 346, 2252, 15184, 104960, 739162, 5280932]>>>打印000172_偏移0>>>对于a000172_list_pairs(6)中的x:…打印x...(0, 1)(1,2)(2, 10)(3,56)(4, 346)(5, 2252)>>>a000172_列表(10**6)[1, 2, 10, 56, 346, 2252, 15184, 104960, 739162]>>>打印a000172(3)56-----------------------------------------------------------------------"""从itertools导入islice、izip、takewhile、count__all__=(“000172_offset”,“a000172_list”,“a000172_list_pairs”,“a000172_list_upto”,“a 000172”,‘a000172_ gen’)__author__='尼克·霍布森'a000172_offset=偏移=0定义a000172_gen():“”“OEIS序列A000172的生成器功能。”“”x、 y=1,2对于计数(2)中的n:收益率xx、 y=y,((7*n**2-7*n+2)*y+(8*(n-1)**2)*x)/n**2定义a000172_list(n):“”“返回前n>=0项的列表。”“”如果n<0:raise ValueError,'输入必须是非负整数'返回列表(islice(a000172_gen(),n))定义a000172_list_pairs(n):“”“返回第一个n>=0项的元组(n,a(n))列表。”“”如果n<0:raise ValueError,'输入必须是非负整数'返回列表(izip(xrange(偏移量,n+offset),a000172_gen()))定义a000172_list_upto(m):“”“返回所有不超过m>=0的术语的列表。”“”如果m<0:raise ValueError,'输入必须是非负整数'返回列表(takewhile(λt:t<=m,a000172_gen()))定义a000172(n):“”“返回索引n>=0;偏移量为0的术语。”“”如果n<offset:raise ValueError,'输入必须是整数>=offset='+str(offset)返回列表(islice(a000172_gen(),n-offset,n-offset+1)).pop()