1
apple 2010-07-29 22:13:31 +08:00
a~a
中间三次,bcd来排,排除含有bb,bbb这种类型的排列,就是答案了。 |
2
lianghai 2010-07-29 22:21:28 +08:00
唉……高中时的数学题现在我已经能把自己算晕了……算出一个 96 然后 google 一下,得知错了……
校正了一个疏忽才得出正确答案…… |
3
marshluca OP 非常欢迎大家写代码
|
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] |
5
Majia 2010-07-29 23:46:28 +08:00
(-1)^n(x-1)[1-(-x+1)^(n-1)]/x
n为传球次数,x为人数(x>=3) |
6
Majia 2010-07-29 23:50:33 +08:00
貌似写得不太好
(-1)^n*(x-1)*[(1-(-x+1)^(n-1)]/x |
7
marshluca OP # 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) |
8
xhacker 2010-08-08 15:01:41 +08:00
|
9
rveo 2010-08-08 15:21:06 +08:00
1 + 2 + 3 + 4 = 10 种
|
10
rveo 2010-08-08 15:25:27 +08:00
这种题,是常见的小学 4 - 5 年级奥林匹克数学题,不过,在前面加了个障眼法( 4 个人)。
在数学表达式里,似乎是 ( N - 1 )! 表示从 1 + ( 1 + 1 ) + (( 1 + 1 ) + 1 )…… 这样的累加。 我不记得 我这个描述 是否正确了。 |
11
rveo 2010-08-08 15:29:28 +08:00
额。。应该错了。。N! 是 阶乘累加,正确的是 1 + 2 + 3 + …… + ( N - 1 ) + N 这样。
|
13
xhacker 2010-08-08 19:51:00 +08:00
|
14
marshluca OP |
16
marshluca OP @xhacker 被你发现了... 这是个小学奥数题
我这还有一道小学三年级的奥数: 一个六位数,分别用2,3,4,5,6乘它,得到的五个新数仍是由原数中的六个数字组成,只是位置不同,则此六位数是多少? |
19
marshluca OP 不编程:
先确定最高位和个位,最高位只能是1. 用2~9分别乘2,3,4,5,6,分别得五个数,取其个位,可定只有7去乘才出现1,那样就确定了六个数是,7.4.1.8.5.2,而最高位是1个位是7,乘以2就可以定十位是8,别的数字不行,类推下去即可得出结果是 ? |
22
MadHouse 2019-12-27 20:55:59 +08:00 via Android
2*4*3*2=48
|