玩蛇网提供最新Python编程技术信息以及Python资源下载!

Python组合生成与数量计算的实现方法

Python组合生成与数量计算的实现方法Python学习过程中联系写的代码,组合生成与数量计算(Combinaton generator and counter)。

方法实现的代码中没有用到Python模块,只是简单的函数相关操作。仔细阅读这段代码,整体的编程时的思路还是很清楚的。

#len( CG(7, 3) ) == 7*6*5/3*2*1
def CG(n, m):

    assert m >= 1

    if m == 1:
        for i in range(n):
            yield [i]
    else:
        for v in CG(n, m-1):
            for i in range(v[-1]+1, n):
                yield v + [i]


def CG2(n, m):
     
     if m == 1: # assert m >= 1
         return [[i] for i in range(n)]

     else:
         return [v + [i] for v in CG(n, m-1) for i in range(v[-1]+1, n)]
 

#-----www.iplaypy.com-----组合C(n, m)的大小, Combination Count


def CC(n, m):
  mul=1
  div=1

  for i in range(1, m+1):
    mul *= (n-i+1)
    div *= i

  return mul/div

使用Python来完成数据计算任务是很有意思的事情,与其它计算机编程语言比较起来,Python的方法都是很简便的。

其它Python算法相关文章推荐:
1、Python计算n*n网格生成树数目的方法
2、Python筛法求质数(素数)的生成器示例

玩蛇网文章,转载请注明出处和文章网址:https://www.iplaypy.com/code/algorithm/a2610.html

相关文章 Recommend

玩蛇网Python互助QQ群,欢迎加入-->: 106381465 玩蛇网Python新手群
修订日期:2016年01月14日 - 22时27分00秒 发布自玩蛇网

您现在的位置: 玩蛇网首页 > Python源码实例 > 算法分析源码 > 正文内容
我要分享到:

必知PYTHON教程 Must Know PYTHON Tutorials

必知PYTHON模块 Must Know PYTHON Modules