crono 发表于 2003-10-15 22:08

大家帮我一个忙,我在找游戏里的数学迷题

想的头壳快要坏掉了
大家再帮我想想
rpg啊,avg啊这种迷题是不少的
但是要一下子都找到就难找了

鬼咒舞邑 发表于 2003-10-15 22:12

SH系列到处是~~

john 发表于 2003-10-15 22:17

每次传说系列里都有的取石头游戏

thelast 发表于 2003-10-15 22:19

鬼武者那个拼图游戏。。。。哎。。。。。。。。

Demitri 发表于 2003-10-15 22:20

用一个3升和一个5升的桶,从一个大水缸里准确称量出4升水,最少要多少步?

crono 发表于 2003-10-15 22:22

这个传说的取石头问题和tomb raider 的称水问题我都想到了
还有什么?
谢谢大家帮忙

crono 发表于 2003-10-15 22:23

最初由 thelast 发布
鬼武者那个拼图游戏。。。。哎。。。。。。。。
拼图游戏我很难想出他的数学渊源

鬼咒舞邑 发表于 2003-10-15 22:34

最初由 Demitri 发布
用一个3升和一个5升的桶,从一个大水缸里准确称量出4升水,最少要多少步?

装满5升~~倒入3升~~倒掉3升~~装入5升剩下2升~~装满5升~~倒入3升中一升即满~~

crono 发表于 2003-10-15 22:38

ft
成解题了

sbl 发表于 2003-10-15 22:39

灰色天使 发表于 2003-10-15 22:42

最初由 Demitri 发布
用一个3升和一个5升的桶,从一个大水缸里准确称量出4升水,最少要多少步?

5升的桶装满倒入水缸 这样2次 水缸里就有10升水
再用3升的桶从水缸里舀2次水出来 水缸里就只剩4升了~

crono 发表于 2003-10-15 22:44

嗯,谢谢,第七位访客的迷题正在找
据说四狂神传说数学迷题很多,但是偶没玩过
现在玩时间也来不及

sbl 发表于 2003-10-15 22:52

鬼咒舞邑 发表于 2003-10-15 22:54

最初由 灰色天使 发布
5升的桶装满倒入水缸 这样2次 水缸里就有10升水
再用3升的桶从水缸里舀2次水出来 水缸里就只剩4升了~

拜托是从一个大水缸里面舀水呀~~

Demitri 发表于 2003-10-15 22:57

myth的迷题也强

crono 发表于 2003-10-15 22:58

最初由 sbl 发布
4狂神的很一般

不需要什么数学根底就可以了,最多用到递归
用到递归的迷题能大致说一下吗?

bxyc 发表于 2003-10-16 00:09

神秘岛,神秘岛

jjx01 发表于 2003-10-16 12:42

最初由 crono 发布
用到递归的迷题能大致说一下吗?
那个5升瓶和2升瓶取水的问题就属于递归的
还有经典的拿盘子问题,一次只能拿一个盘子,大盘子不能放在小盘子下面的那个……

堕落耶和华 发表于 2003-10-16 12:45

最初由 jjx01 发布
那个5升瓶和2升瓶取水的问题就属于递归的
还有经典的拿盘子问题,一次只能拿一个盘子,大盘子不能放在小盘子下面的那个……

汉诺依塔倒是典型的递归问题...
不过瓶子装水就不是递归了...你说递归的终止条件是什么?

focus 发表于 2003-10-16 12:54

hanoi谜题:凯兰蒂亚2里面有
瓶子灌水:Xeno里面有

堕落耶和华 发表于 2003-10-16 12:56

最初由 focus 发布
hanoi谜题:凯兰蒂亚2里面有
瓶子灌水:Xeno里面有

XG里有瓶子装水问题?我怎么都没有印象...

jjx01 发表于 2003-10-16 13:06

最初由 堕落耶和华 发布
汉诺依塔倒是典型的递归问题...
不过瓶子装水就不是递归了...你说递归的终止条件是什么?
终止条件是某瓶子装了指定量的水
要求递归一次能给该瓶装进1单位水

focus 发表于 2003-10-16 13:08

最初由 堕落耶和华 发布
XG里有瓶子装水问题?我怎么都没有印象...
是踩踏板放水,本质一样

focus 发表于 2003-10-16 13:13

装水似乎也可以递归

jjx01 发表于 2003-10-16 13:33

如果编装水程序的话肯定是要用递归的……

风の千秋 发表于 2003-10-16 13:35

jjx01 发表于 2003-10-16 13:41

四次吗……

风の千秋 发表于 2003-10-16 13:42

jjx01 发表于 2003-10-16 13:53

X表示反面,O表示正面

XXXX
XOOO 一次
OXXO 二次
XOXX三次
OOOO 四次

推理过程:
第一次肯定翻成三正一反,最后一次的前一次肯定是要求三反一正,而从三正一反翻成三反一正显然一次是完成不了的,中间要经过过渡,发现只要通过一次二正二反就能过渡过去,所以就是四次咯
不严谨,将就一下好了

想到了比较好的说明方法,题目改一下,5枚反面的,一次只能翻3枚,最少几次翻到全是正面
(0)XXXXX
(1)OOOXX
(2A)OOXOO 或者 (2B)OXXOO 或者 (2c)XXXXX(=(0),不合)
(3AA)XXOOO(=(2C),不合) 或者 (3AB)XXXXO(=(2A),不合) 或者 (3BA)XXXXX(=(0),不合) 或者(3BB)XOOOO(=(2A),不合) 或者XOXXO(3BC)
4BCA OOOOO

要求只能翻出与之前翻的情况不一样的情况,否则不合最少次数这个制约条件

答案是4次

focus 发表于 2003-10-16 14:31

灌水那个大致递归算法:(似乎有可能无解)
public void fillQuest(Obj bottleA,Obj bottleB,int target)
{
if(bottleA.current.equals(target))
{
    exit;
}
if(bottleB.current.equals(target))
{
    exit;
}
if((bottleA.current-(bottleB.volume-bottleB.current)).equals(target))
{
    bottleA.fill(bottleB);
    exit;
}
if((bottleB.current-(bottleA.volume-bottleA.current)).equals(target))
{
    bottleB.fill(bottleA);
    exit;
}
if((bottleB.current+bottleA.current).equals(target))
{
    if(bottleA.volume>bottleB.volume)
    {
      bottleB.fill(bottleA);
      exit;
    }
    else
    {
      bottleA.fill(bottleB);
      exit;
    }
}

for(;!bottleA.empty;bottleA.fill(bottleB))
{
    bottleB.splash;
    this.fillQuest(bottleA,bottleB,target);
}
bottleA.reload;
this.fillQuest(bottleA,bottleB,target);

}

风の千秋 发表于 2003-10-16 14:41

focus 发表于 2003-10-16 14:56

随手写的,晚上编个试验下

jjx01 发表于 2003-10-16 19:13

给两瓶偶数单位容量的水瓶让你倒出奇数容量的水就会无解
同样的两瓶奇数单位的瓶子让倒出奇数单位(非两瓶原始容量的)的水也会无解
如果给的一奇一偶,那么用辗转相除法取出单位容量……

堕落耶和华 发表于 2003-10-16 21:13

最初由 jjx01 发布
终止条件是某瓶子装了指定量的水
要求递归一次能给该瓶装进1单位水

没有这种说法吧
装水问题通常都只有一个空容器用来交换
所以想要靠分离出1单位的方法来凑容量的方法不可行的
这类问题都是利用不同容器的容积差来拼凑答案的.

focus 发表于 2003-10-16 21:14

前面说错了,想了一下,编程不能用递归,只能用回朔。因为无法使问题规模降阶,回朔比较简单。

鬼咒舞邑 发表于 2003-10-16 21:14

瓶子灌水是寂静岭里面的~~

focus 发表于 2003-10-16 21:15

最初由 jjx01 发布
给两瓶偶数单位容量的水瓶让你倒出奇数容量的水就会无解
同样的两瓶奇数单位的瓶子让倒出奇数单位(非两瓶原始容量的)的水也会无解
如果给的一奇一偶,那么用辗转相除法取出单位容量……

没有多余的容器来装

Demitri 发表于 2003-10-16 21:19

回朔编起来 我是完全不会

堕落耶和华 发表于 2003-10-16 21:19

最初由 focus 发布
前面说错了,想了一下,编程不能用递归,只能用回朔。因为无法使问题规模降阶,回朔比较简单。

这和背包问题有些象
路径搜索是正解之一

回溯好像也不太对...仔细想想...

focus 发表于 2003-10-16 21:47

回朔简单
(1):假设当前状态为(A,m,B,n)--即A瓶有m,B瓶有n--记录下这个状态
下一步一共只有这几种可能性
A倒空
B倒空
A装满
B装满
A倒入B
B倒入A
依次探索上面几种动作,比如A倒空,状态变成(A,0,B,n)。然后察看这个状态有没有被记录过,如果状态没有被记录过,就记录下这个状态,然后回到(1),如果记录过,就回到(A,m,B,n),探索第二种动作……直到成功或者退回初始状态(A,0,B,0),后者代表无解。
页: [1] 2
查看完整版本: 大家帮我一个忙,我在找游戏里的数学迷题