一道数学题 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
marshluca
V2EX    数学

一道数学题

  •  
  •   marshluca 2010-07-29 22:00:59 +08:00 9020 次点击
    这是一个创建于 5557 天前的主题,其中的信息可能已经有所发展或是发生改变。
    有a,b,c,d,四个人,互相传球,从a开始传出,经过5次传球后,球回到a的手里,总共有多少种传球的方法 ?
    22 条回复    2019-12-27 20:55:59 +08:00
    apple
        1
    apple  
       2010-07-29 22:13:31 +08:00
    a~a
    中间三次,bcd来排,排除含有bb,bbb这种类型的排列,就是答案了。
    lianghai
        2
    lianghai  
       2010-07-29 22:21:28 +08:00
    唉……高中时的数学题现在我已经能把自己算晕了……算出一个 96 然后 google 一下,得知错了……
    校正了一个疏忽才得出正确答案……
    marshluca
        3
    marshluca  
    OP
       2010-07-29 22:32:00 +08:00
    非常欢迎大家写代码
    aligo
        4
    aligo  
       2010-07-29 23:18:37 +08:00
    4个人排成一圈,或在排成1字一排貌似最后都没法传到a手里呢
    [code]
    var count = 0;
    var routes = [];
    var limit = 5;
    var circle = false;
    var found = function (route)
    {
    routes.push(route);
    //alert(route);
    }
    var pass = function (cur, time, route)
    {
    if ((cur === 1) && (time === limit)) {
    count++;
    found(route);
    }
    if (circle && (cur > 4)) {
    cur = 1;
    }
    if (circle && (cur < 1)) {
    cur = 4;
    }
    if ((cur < 5) && (cur > 0) && (time < limit) ) {
    pass(cur + 1, time + 1, route + '>');
    pass(cur - 1, time + 1, route + '<');
    }
    }
    pass(1, 0, '');
    alert(count + ':' + routes);
    [/code]
    Majia
        5
    Majia  
       2010-07-29 23:46:28 +08:00
    (-1)^n(x-1)[1-(-x+1)^(n-1)]/x

    n为传球次数,x为人数(x>=3)
    Majia
        6
    Majia  
       2010-07-29 23:50:33 +08:00
    貌似写得不太好

    (-1)^n*(x-1)*[(1-(-x+1)^(n-1)]/x
    marshluca
        7
    marshluca  
    OP
       2010-08-08 12:32:26 +08:00
    # python
    def compute(current,remain):
    if remain == 0:
    if current == 'a':
    return 1
    else:
    return 0
    else:
    return sum(compute(next,remain-1) for next in ['a','b','c','d'] if next!= current)


    print compute('a',5)
    xhacker
        8
    xhacker  
       2010-08-08 15:01:41 +08:00
    楼上的程序很慢,我也写一个来献献丑。n 是传球次数,m 是人数。O(n*m^2)的。

    这里不能贴代码,先贴在别处。
    http://paste.ubuntu.com/474828/
    rveo
        9
    rveo  
       2010-08-08 15:21:06 +08:00
    1 + 2 + 3 + 4 = 10 种
    rveo
        10
    rveo  
       2010-08-08 15:25:27 +08:00
    这种题,是常见的小学 4 - 5 年级奥林匹克数学题,不过,在前面加了个障眼法( 4 个人)。

    在数学表达式里,似乎是 ( N - 1 )! 表示从 1 + ( 1 + 1 ) + (( 1 + 1 ) + 1 )…… 这样的累加。

    我不记得 我这个描述 是否正确了。
    rveo
        11
    rveo  
       2010-08-08 15:29:28 +08:00
    额。。应该错了。。N! 是 阶乘累加,正确的是 1 + 2 + 3 + …… + ( N - 1 ) + N 这样。
    Livid
        12
    Livid  
    MOD
    PRO
       2010-08-08 18:17:37 +08:00
    @xhacker 这里支持 GitHub 的 Gist。
    xhacker
        13
    xhacker  
       2010-08-08 19:51:00 +08:00
    marshluca
        14
    marshluca  
    OP
       2010-08-08 20:58:39 +08:00
    贴上ruby,代码不漂亮:

    http://gist.github.com/513999
    xhacker
        15
    xhacker  
       2010-08-08 21:12:20 +08:00
    @marshluca 试试把 n (传球次数)改大一些,然后阁下的程序就很悲剧……
    marshluca
        16
    marshluca  
    OP
       2010-08-08 21:15:23 +08:00
    @xhacker 被你发现了... 这是个小学奥数题

    我这还有一道小学三年级的奥数:
    一个六位数,分别用2,3,4,5,6乘它,得到的五个新数仍是由原数中的六个数字组成,只是位置不同,则此六位数是多少?
    xhacker
        17
    xhacker  
       2010-08-08 21:22:05 +08:00
    @marshluca 呵呵,编程解决奥数题……太邪恶了~
    marshluca
        18
    marshluca  
    OP
       2010-08-08 21:25:47 +08:00
    @xhacker 你可以用这个法子来诱惑你娃儿学编程 哈哈
    marshluca
        19
    marshluca  
    OP
       2010-08-08 21:28:57 +08:00
    不编程:
    先确定最高位和个位,最高位只能是1. 用2~9分别乘2,3,4,5,6,分别得五个数,取其个位,可定只有7去乘才出现1,那样就确定了六个数是,7.4.1.8.5.2,而最高位是1个位是7,乘以2就可以定十位是8,别的数字不行,类推下去即可得出结果是 ?
    xhacker
        20
    xhacker  
       2010-08-08 21:31:14 +08:00
    @marshluca 哈哈哈,我啥时候都有娃儿了~
    让我想起来前一阵编程解决排列组合问题……
    vayn
        21
    vayn  
       2010-08-08 23:16:40 +08:00
    @marshluca “取其个位,可定只有7去乘才出现1”,这句是什么意思?1/7?
    MadHouse
        22
    MadHouse  
       2019-12-27 20:55:59 +08:00 via Android
    2*4*3*2=48
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2985 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 12:52 PVG 20:52 LAX 05:52 JFK 08:52
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86