求算法,大家来看看

yufenfeila 2002-09-28 12:09:34
1 2 3 4 5 6 7 8 9=100

两个数的中间可以加上 + - ,或者连成一个数字,如:

12 + 3 - 4 + 5 + 67 + 8 + 9=100

用什么方法可以用Listbox列出所有的组合?
解决给分!
...全文
34 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
jisheng 2002-09-28
  • 打赏
  • 举报
回复
我最头疼的就是算术谜语:(
netfor2000 2002-09-28
  • 打赏
  • 举报
回复
用递归
yufenfeila 2002-09-28
  • 打赏
  • 举报
回复
必须按照顺序,32+19是不可以的
拿棵草 2002-09-28
  • 打赏
  • 举报
回复
数字的顺序必须是按这个顺序么?不可以调换位置么?比如32+19,这样可以么?
yufenfeila 2002-09-28
  • 打赏
  • 举报
回复
嗯,不错的方法
还有没有别的方法?
没人跟的话就结帖了
dwenj 2002-09-28
  • 打赏
  • 举报
回复
up ,good
EpopeeLei 2002-09-28
  • 打赏
  • 举报
回复
'需引用Microsoft Script Control
Dim sc As New ScriptControl
Dim s(2) As String
Dim i1, i2, i3, i4, i5, i6, i7, i8 As Integer
Dim sExpression As String

s(0) = "": s(1) = "+": s(2) = "-"
's(0)为前后二数合并,s(1),s(2)分别为+,-法
sc.Language = "vbscript"
For i1 = 0 To 2
For i2 = 0 To 2
For i3 = 0 To 2
For i4 = 0 To 2
For i5 = 0 To 2
For i6 = 0 To 2
For i7 = 0 To 2
For i8 = 0 To 2
sExpression = 1 & s(i1) & 2 & s(i2) & 3 & s(i3) & 4 & s(i4) & 5 & s(i5) & 6 & s(i6) & 7 & s(i7) & 8 & s(i8) & 9
If sc.Eval(sExpression) = 100 Then List1.AddItem sExpression
Next i8
Next i7
Next i6
Next i5
Next i4
Next i3
Next i2
Next i1
用的是穷举法,不知你感不感兴趣。
yufenfeila 2002-09-28
  • 打赏
  • 举报
回复
大家还是帮忙写一下代码吧,我脑袋都大了,谢谢了!
kbsoft 2002-09-28
  • 打赏
  • 举报
回复
这道题用什么递归?

搜索就行啊
yufenfeila 2002-09-28
  • 打赏
  • 举报
回复
嗯,我知道可以用递归,可是写了半天也不行
还请大家帮忙写一下,我学习学习
TaichiTang 2002-09-28
  • 打赏
  • 举报
回复
很有趣也很简单阿,无非就是排列组合的问题。

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧