vb 自动计算

来源:百度知道 编辑:UC知道 时间:2024/05/05 02:48:01
现在有1,4,6,7,9,12,2,0
有+,-

现在要求点击Command1用以上条件自动计算出结果是2的5个运算过程,把运算过程输入到list里
如list0行9-7=2
list1行6-4=2
list2行12-9-1=2
list3行0+2=2
list4行7-4-1=2
这个该怎么写
老师如果写出来,额外再加40分

Dim a(8)
a(1) = 1: a(2) = 4: a(3) = 6: a(4) = 7
a(5) = 9: a(6) = 12: a(7) = 2: a(8) = 0

For i = 1 To 8
For j = i + 1 To 8
If (a(i) - a(j) = 2) Then Print a(i); "-"; a(j); "="; 2
If (a(i) + a(j) = 2) Then Print a(i); "+"; a(j); "="; 2
If (a(j) - a(i) = 2) Then Print a(j); "-"; a(i); "="; 2

Next
Next

穷举法吧。

先生成所有的排列。然后判断条件成立就显示。

这里好像涉及到排列组合的知识
还涉级到随机算法.10分太少了.呵呵

不过您是要每次都出这五个式子还是说每次都不一样的???
如果您要后者
俺估计这个会导致死循环。
然后您就死机了。

给你一个思路~和算21点游戏 24点游戏一样的~
判断 两两相加减 先1和4 然后是 1和4的结果 再和6 。。类推下去。~

似乎没有穷尽,因为没有限定步骤,如12-(12-2+7-9-1+4)+1=2