mathe 发表于 2008-5-16 17:27:02

n元四则混合运算本原表达式数目

对算法要求比较高n个符号,通过加减乘除括号得到不恒等的表达式数目是多少,看看大家能够计算到n是多少
转载自: http://tieba.baidu.com/f?kz=239846151

比如两个 4 元表达式(a+b)+c+d和a+(b+c)+d恒等,就只能计为 1 个本原表达式。

mathe 发表于 2008-5-16 17:46:26

还是加一点金钱悬赏
我计算出来第40个数字的情况是:
45918112089612067594299100144892566595513251660064628716316044016786556596566544
如果上面结果错了,那么第一个能够确定我这个结果是错误的可以得到200金币的奖励。
另外第一个计算出45个数字的情况的也可以奖励200金币
第一个计算出50个数字的情况的可以奖励500金币

无心人 发表于 2008-5-16 21:59:40

:)

是组合数目么?

无心人 发表于 2008-5-16 22:35:19

只有加法或减法的是2个
只有加减的是2^n-2个

所以只有加减的是2^n种

mathe 发表于 2008-5-16 22:39:30

最前面不允许加负号的。所以只有加减的是$2^n-1$而不是$2^n$个。

mathe 发表于 2008-5-17 07:12:55

我上面计算的n=40情况我已经知道是错误的了。所以只要谁第一个得出正确的结果就可以得200金币了

无心人 发表于 2008-5-17 08:38:23

我只能估计没括号的

带括号的,无法保证唯一啊

无心人 发表于 2008-5-17 08:50:14

假设加减类别是1
乘除类别是2
则括号左面运算类别或者括号右面运算类别和括号里的最小运算类别必须不等

假设加乘的交换类别为3
减除的交换类别是4

加乘不存在交换组合
减除还存在交换组合,但交换组合的数量不是4,因为存在双负的减除等于正减除,所以组合数量是2

无心人 发表于 2008-5-17 08:53:04

:)

感觉是个树形结构,一个复杂的迭代树
最好能得到基础的全部的树类型图

如果得到了,就可迭代计算了
我想有以下几个类型
A + B 组合* 1
A - B组合 * 2
A * B 组合 * 1
A / B 组合*2

无心人 发表于 2008-5-17 11:42:06

上午逛商场想到的:
括号是不用考虑的
构造树结构,每个节点有四个子节点,分别代表加减乘除,其中加乘权值为1,减除权值为2
则n个数字的总的式子数量可通过从根节点遍历树得到

但具体如何计算还需要讨论
页: [1] 2 3 4 5 6 7
查看完整版本: n元四则混合运算本原表达式数目