| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2360 人关注过本帖
标题:[原创]计算24点c++源代码,大家帮我看看怎么改进。。
只看楼主 加入收藏
yuki
Rank: 2
等 级:新手上路
威 望:5
帖 子:508
专家分:0
注 册:2005-2-4
收藏
得分:0 

首先我使用vc提供的标准算法库,穷举四个数所有肯能的排列,然后计算所有的肯能。。。

分析:

#1,#2,#3代表运算符,a,b,c,d代表运算数,对于表达式a #1 b #2 c #3 d根据运算顺序有如下六种可能.

1,运算顺序:#1,#2,#3 (( a #1 b) #2 c) #3 d

2,运算顺序:#1,#3,#2 ( a #1 b ) #2 ( c #3 d)

3,运算顺序:#2,#3,#1 a #1 (( b #2 c ) #3 d )

4,运算顺序:#2,#1,#3 (a #1 ( b #2 c ) ) #3 d

5运算顺序:#3,#1,#2 ( a #1 b ) #2 ( c #3 d )

6运算顺序:#3,#2,#1 a #1 ( b #2 ( c #3 d))

其中运算符对应关系有64种

运算数对应关系24种。 注意该函数void calc_permutation(vector<double> queue,vector<double> to_permute);我并未在main函数中用到,问题在于该函数对于输入的数种有重复情况时会漏解,至今无法解决。。。唉。。。 听牛虻这么说,你还在你刚念高一吧?我看过你在论坛上发的帖子,真的很不错,能有这样的水平,我当初还只懂点皮毛,好好学有前途啊。。


我们都在命运湖上荡舟划桨,波浪起伏使我们无法逃离孤行;如果我们迷失方向,波浪将指引我们穿过另一天曙光
2005-04-27 18:31
牛虻
Rank: 1
等 级:新手上路
威 望:1
帖 子:472
专家分:0
注 册:2004-10-1
收藏
得分:0 
运算符对应关系有64种是怎么算的,是不是4&sup3;?会不会有重复出现?不理解~

土冒
2005-04-27 23:36
yuki
Rank: 2
等 级:新手上路
威 望:5
帖 子:508
专家分:0
注 册:2005-2-4
收藏
得分:0 
四个数字之间的运算符不是有三个麻,而且每个运算符都有四种可能全部可以取得,所以对应的运算符关系就是4*4*4=64种。。

我们都在命运湖上荡舟划桨,波浪起伏使我们无法逃离孤行;如果我们迷失方向,波浪将指引我们穿过另一天曙光
2005-04-28 11:56
乌鸦丘比特
Rank: 1
等 级:新手上路
威 望:2
帖 子:625
专家分:0
注 册:2004-7-19
收藏
得分:0 
我当初也是这么写的,24点程序总会有几个缺陷:
(1)无法计算过程中有分数出现(用浮点数或许可以解决,但鉴于浮点数的不精确性,我不敢确定这么解决是否完美,我以前是直接2个整形存分数的)
(2)穷举不完全,看你的穷举应该是完全了,其实穷举还可以用栈来完成,不知道你是否写过计算四则运算的程序?利用栈穷举所有逆波兰式的表达式,这样的穷举一定是完全的,每次都有5种选择(+,-,*,/,入栈);
(3)对于输入的数种有重复情况时会漏解,这是什么原因我也不太清楚,会不会是浮点数造成的呢?注意一下X/0是否已经排除。
(4)最头疼的,重复解问题,这个问题够麻烦,当然如果只输出一个解就没这个问题了。
我今年高二了……

我喜欢创造,一只扑腾着翅膀向天空飞翔的乌鸦
2005-04-28 12:14
牛虻
Rank: 1
等 级:新手上路
威 望:1
帖 子:472
专家分:0
注 册:2004-10-1
收藏
得分:0 
以下是引用yuki在2005-4-28 11:56:02的发言: 四个数字之间的运算符不是有三个麻,而且每个运算符都有四种可能全部可以取得,所以对应的运算符关系就是4*4*4=64种。。
那64种里有一些是不要用的吧,应该是和运算数关系有24种有关是不是?

土冒
2005-04-28 12:33
深夜狼
Rank: 1
来 自:广西桂林
等 级:新手上路
帖 子:348
专家分:0
注 册:2005-5-9
收藏
得分:0 
太复杂了吧!!!不可以精简点??
2005-05-10 22:50
快速回复:[原创]计算24点c++源代码,大家帮我看看怎么改进。。
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016071 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved