A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 黄方 中级黑马   /  2012-3-30 22:39  /  2188 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

                                                                  算24点
                             时间限制: 1000 ms         内存限制: 65536 KB提交数: 20     通过数: 6

【题目描述】几十年前全世界就流行一种数字游戏,至今仍有人乐此不疲.在中国我们把这种游戏称为“算24点”。您作为游戏者将得到4个1~9之间的自然数作为操作数,而您的任务是对 这4个操作数进行适当的算术运算,要求运算结果等于24。 您可以使用的运算只有:+,-,*,/,您还可以使用()来改变运算顺序。注意:所有的中间结果须是整数,所以一些除法运算是不允许的(例如,(2*2)/4是合法的,2*(2/4)是不合法的)。下面我们给出一个游戏的具体例子: 若给出的4个操作数是:1、2、3、7,则一种可能的解答是1+2+3*7=24。
【输入】只有一行,四个1到9之间的自然数。

【输出】如果有解的话,只要输出一个解,输出的是三行数据,分别表示运算的步骤。其中第一行是输入的两个数和一个运算符和运算后的结果,第二行是第一行的结果和一个输入的数据、运算符、运算后的结果;第三行是第二行的结果和输入的一个数、运算符和“=24”。如果两个操作数有大小的话则先输出大的。 如果没有解则输出“No answer!”

【输入样例】1 2 3 7

【输出样例】
2+1=3
7*3=21
21+3=24

5 个回复

倒序浏览
明天算出来跟你看看。。。
回复 使用道具 举报
还没写代码: 但大致的思路应该:
1,通过观察: 这四个数的位置应该可以任意变化
2,算法就是在这四个数两两间 选择 ‘+’ ,‘-’,‘*’,'/'  这四个符号的变化。
3,将以上的两点结合在一起 各自套循环的让计算机来 算,当满足  总的运算结果是 24 后,就直接输出 这个
表达式即可, 大致是这样了,  但操作起来还是有点难度的。
回复 使用道具 举报
郑苑东 发表于 2012-4-7 21:33
明天算出来跟你看看。。。

我可是挂了一周了,没人答出来!
回复 使用道具 举报
黄方 发表于 2012-4-7 23:37
我可是挂了一周了,没人答出来!

刚才给人坑了。。写了一个逻辑错误的代码害我看了半以为语法错误,。。害了我。。。明天算出来就回复你。。大约有思路了。。。没人会因为别人觉得这个写了也没有分。。。。。
回复 使用道具 举报
应该是24*24种
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马