回 帖 发 新 帖 刷新版面

主题:8个8

只能用加、减、乘、除来组合8个8组成的运算式并使其值为2000,求加减乘除法的组合方式?
请高手帮用VB来这道奥数题?

回复列表 (共19个回复)

沙发

7层循环,就可以穷举所有结果。每层循环就代表一个运算符。

当然你如果有更高的兴趣,可以使用递归法。

板凳

算法都是一样的
不一定非用VB吧

不过“7层循环”的想法我的确不很赞赏

3 楼

递归的想法我觉得不错

此外楼主的题目是否能明确一下
是否容许有括号?
单纯的正负号(没有加减的意义)是否也属于“运算式”?

4 楼

我又考虑了一下
用VB也很有趣
楼主是否知道如何用VB创建对象?
我原来认为VB没有指向函数的指针
但突然想到了一个办法
可以模拟指向函数的指针

5 楼

这道题作为奥数题很无聊
但作为编程题很不错

6 楼

穷举我是举出答案了,但是老是觉得这个算法不怎么滴,所以才发帖向各位求助更好的算法。感谢提供运用递归来算的思路,研究ing。

7 楼

只能用加、减、乘、除,请大家帮帮思考

8 楼

[quote]穷举我是举出答案了,但是老是觉得这个算法不怎么滴,所以才发帖向各位求助更好的算法。感谢提供运用递归来算的思路,研究ing。[/quote]

其实穷举也不错
递归也是一种穷举

9 楼

小令00,兄弟能不能给出递归的算法代码啊?

10 楼

[quote]小令00,兄弟能不能给出递归的算法代码啊?[/quote]
能。
不过你要的是VB的代码还是别的语言的也可以
我好久不碰VB了
手头没有VB的编译器
此外我写代码很慢
一是我还有许多别的事情
再一个是我比较讲究代码质量
从来不发自己看不过去的代码
你是否愿意等
还是只想探讨一下算法然后自己写
此外你的题目我始终有疑惑(括号、正、负号的问题)
你是否把找到的答案发几个
以便让我理解程序的功能





我来回复

您尚未登录,请登录后再回复。点此登录或注册