擅长:python、mysql、java
<p>由于需要显式迭代方法,所以我将使用迭代器。在</p>
<pre><code>def bincoeff(num=None):
from math import factorial
if num is None:
it = iter(lambda: True, False) # waiting for Godot
else:
it = xrange(num)
for _ in it:
yield [factorial(n) // (factorial(k) * factorial(n - k)) for k in range(n+1)]
</code></pre>
<p>有了这个发电机,你可以</p>
<ul>
<li><p>建立列表:</p>
<pre><code>bc = list(bincoeff(100))
</code></pre></li>
<li><p>达到某个最大值:</p>
<pre><code>for bc in bincoeff():
if len(bc) > 100: break
print bc
</code></pre></li>
<li><p>。。。</p></li>
</ul>