回 帖 发 新 帖 刷新版面

主题:刚考完,有一题想问一下大家

我在考试中有一题没做出来。
有一道算式:
     [b]1   2   3   4   5   6   7   8 = N[/b]
上算式中的N由键盘给出(1<=N<=100),请在算式的每个空挡内都填入+、-、*、/四种运算符中的任意一个,使结果等于N,而且要求给出所有符合条件的方案,并统计个数。

回复列表 (共18个回复)

11 楼

七重循环?天啊,我在考试的时候用了一下,慢都跟蜗牛一样!
后来又重编了一下,结果竟然出来一大堆算式——汗~~~~~

12 楼

我不也是吗?我用的也是7重循环,结果它半分钟才出来结果……

还有,你这次考试复赛考多少分?

13 楼

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 楼

呵,好久没来了,估计我都快把大家忘了,大家也差不多把我忘了吧。没办法,毕业考试太恐怖啊,只好忍痛割爱,先把编程放一放了,呜~~~~~~没时间了,我走了,再见。

15 楼

MOZ,你的程序中N是几呀?运行是还没输入就出来一大堆算式!

16 楼

你自己不会看看啊?
把第一行的 moz 8 改成
input n
moz n

17 楼

佑慧妹妹,我们真是有同样的感受啊!
你要毕业考试,我反正离毕业考试只有一年了,不过再过半个月就期末考试了,我也太累了。

我引用一下chwen822的签名档:

[color=000080]考试如此多焦,引无数考生尽通宵.
惜秦皇汉武,胆子太小;唐宗宋祖,不得不抄.       
一代天骄,成吉思汗,最后都把白卷交.
俱往矣,数风流人物,还看  http://chwen822.programfan.com[/color]

不就是这样吗?

18 楼

Matodied,GGbond已化名007bond,帮你做出来了,快去第一页,看帖

我来回复

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