繁体   English   中英

组合实施和难题

[英]combinatorics implementation and puzzle

在此处输入图片说明

在图像中发现了这个难题。 根据我的想法,总数应该是

2*comb(7,i) for i <- 1 to 7 comb 2*comb(7,i) for i <- 1 to 7定义如下。 我的方法正确吗? 我关心的是得到的结果,而不是下面写的函数。

def comb(N,k): 
    if (k > N) or (N < 0) or (k < 0):
        return 0L
    N,k = map(long,(N,k))
    top = N
    val = 1L
    while (top > (N-k)):
        val *= top
        top -= 1
    n = 1L
    while (n < k+1L):
        val /= n
        n += 1
    return val

不要介意我在短时间内问太多问题。 我只是热心。

有7个! 排列孩子的方式(第一个选择7个,第二个选择6个,第三个选择5,依此类推)

每个孩子都可以朝内或朝外。 这就像每个职位都需要多花一些钱。 因此乘以2 ** 7。 (即每个地点有2个选择)。

现在,对于每个排序,如果旋转圆,您将获得“相同”的排序。 一共有7个旋转,它们产生相同的顺序,因此除以7。

答案是2 ** 7 * 7!/ 7 = 128 * 6! = 92160。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM