主题:刚考完,有一题想问一下大家
Matodied
[专家分:7560] 发布于 2007-05-14 15:16:00
我在考试中有一题没做出来。
有一道算式:
[b]1 2 3 4 5 6 7 8 = N[/b]
上算式中的N由键盘给出(1<=N<=100),请在算式的每个空挡内都填入+、-、*、/四种运算符中的任意一个,使结果等于N,而且要求给出所有符合条件的方案,并统计个数。
回复列表 (共18个回复)
11 楼
&佑慧妹妹& [专家分:660] 发布于 2007-06-02 11:35:00
七重循环?天啊,我在考试的时候用了一下,慢都跟蜗牛一样!
后来又重编了一下,结果竟然出来一大堆算式——汗~~~~~
12 楼
Matodied [专家分:7560] 发布于 2007-06-02 12:04:00
我不也是吗?我用的也是7重循环,结果它半分钟才出来结果……
还有,你这次考试复赛考多少分?
13 楼
moz [专家分:37620] 发布于 2007-06-05 10:25:00
moz 8
Sub moz(n)
t1# = Timer
For i = 1 To 8
a$ = a$ + Left$(Str$(i) + Space$(10), 10)
Next
For i = 0 To 4 ^ 7
If fenx(i, (a$)) = n Then
Print yyy$(i)
sum=sum+1
endif
Next
Print (Timer - t1#),sum
End Sub
Function fenx(f, a$)
f2 = f
For i = 1 To 7
x$ = Mid$("+-*/", (f2 Mod 4) + 1, 1) + x$
f2 = f2 \ 4
Next
j = InStr(x$, "/*")
Do While j
For i = j - 1 To 1 Step -1
If Mid$(x$, i, 1) <> "/" Then Exit For
Next
For k = j + 1 To Len(x$)
If Mid$(x$, k, 1) <> "*" Then Exit For
Next
Mid$(x$, i + 1, j - i) = String$(j - i, "*")
Mid$(x$, j + 1, k - j - 1) = String$(k - j - 1, "/")
Mid$(a$, i * 10 + 11, (k - i - 1) * 10) = Mid$(a$, j * 10 + 11, (k - j - 1) * 10) + Mid$(a$, i * 10 + 11, (j - i) * 10)
j = InStr(x$, "/*")
Loop
Do Until x$ = ""
j = InStr("+-*/", Left$(x$, 1))
If j > 2 Then
xxx 1, a$, x$
ElseIf InStr("+-*/", Mid$(x$, 2, 1)) < 3 Then
xxx 1, a$, x$
Else
xxx 2, a$, x$
End If
Loop
fenx = Val(a$)
End Function
sub xxx(j, a$, x$)
a1 = Val(Mid$(a$, j * 10 - 9, 10))
a2 = Val(Mid$(a$, j * 10 + 1, 10))
Select Case Mid$(x$, j, 1)
Case "+": s = a1 + a2
Case "-": s = a1 - a2
Case "*": s = a1 * a2
Case "/": s = a1 / a2
End Select
a$ = Left$(a$, j * 10 - 10) + Left$(Str$(s) + Space$(10), 10) + Mid$(a$, j * 10 + 11)
x$ = Left$(x$, j - 1) + Mid$(x$, j + 1)
End sub
Function yyy$(f)
f2 = f
x$ = "8"
For i = 1 To 7
x$ = LTrim$(Str$(8 - i)) + Mid$("+-*/", (f2 Mod 4) + 1, 1) + x$
f2 = f2 \ 4
Next
yyy$ = x$
End Function
14 楼
&佑慧妹妹& [专家分:660] 发布于 2007-06-08 21:58:00
呵,好久没来了,估计我都快把大家忘了,大家也差不多把我忘了吧。没办法,毕业考试太恐怖啊,只好忍痛割爱,先把编程放一放了,呜~~~~~~没时间了,我走了,再见。
15 楼
Matodied [专家分:7560] 发布于 2007-06-08 22:25:00
MOZ,你的程序中N是几呀?运行是还没输入就出来一大堆算式!
16 楼
moz [专家分:37620] 发布于 2007-06-08 23:19:00
你自己不会看看啊?
把第一行的 moz 8 改成
input n
moz n
17 楼
Matodied [专家分:7560] 发布于 2007-06-09 09:34:00
佑慧妹妹,我们真是有同样的感受啊!
你要毕业考试,我反正离毕业考试只有一年了,不过再过半个月就期末考试了,我也太累了。
我引用一下chwen822的签名档:
[color=000080]考试如此多焦,引无数考生尽通宵.
惜秦皇汉武,胆子太小;唐宗宋祖,不得不抄.
一代天骄,成吉思汗,最后都把白卷交.
俱往矣,数风流人物,还看 http://chwen822.programfan.com[/color]
不就是这样吗?
18 楼
007bond [专家分:540] 发布于 2007-07-20 09:50:00
Matodied,GGbond已化名007bond,帮你做出来了,快去第一页,看帖
我来回复