• 19本书,选5本,任两本不邻粗解


    有19本书,分别编号为1--19,从中选出5本,要求任意两本编号不相邻,问一共有多少中选法?

    A. 2002 B. 3003 C. 11628 D. 360360

    任选5本,组合C19(5)=19*18*17*16*15/5!=11628。又有条件规定任意两本编号不相邻,那一定选A或者B,由于是个选择题不必细究,那就可以选中间值B-3003。这是考场上的解决办法,要想一探究竟参考如下。

    19本书就是有19个位置,我们可以写个19位的二进制数,1表示该位置的书选择了,0表示该位置的书没有选择。那么,任意两本不相邻,那我们可以写出5个1,相邻两个1之间放0,即101010101。如下图:

    我们可以看出有6个等效位置,即10个0可以放在这六个位置,来产生不同的二进制数,使1出现的位置发生变化,对应选择不同位置的书本。

    设每个位置分别放x1,x2,x3,x4,x5,x6个0,不同的组合(x1,x2,x3,x4,x5,x6)对应不同的选择。

    x1+x2+x3+x4+x5+x6=10,化为线性规划了,你呢可以逐一演算来推出有多少解。我没有做演算,就写了个程序来验证了下答案。程序如下:

     

    最后的count应为解个数,即选择的个数。运行程序结构为3003。想的不对的地方,望指正!

  • 相关阅读:
    定时器的实现
    派遣函数
    IRP的同步
    duilib基本流程
    驱动程序的同步处理
    WFP在包含fwpmu.h头的时候出错
    自己写的驱动用CreateFile打开时错误码返回1的问题
    Windows内核函数
    16_会话技术_Session
    15_会话技术_Cookie
  • 原文地址:https://www.cnblogs.com/whuqin/p/4982127.html
Copyright © 2020-2023  润新知