2,503
社区成员




Option Explicit
Sub Main()
Call f(1, 1, 1)
Call f(1, 1, 2)
Call f(1, 2, 1)
Call f(1, 2, 2)
Call f(2, 1, 1)
Call f(2, 1, 2)
Call f(2, 2, 1)
Call f(2, 2, 2)
End Sub
Function f(ByVal m As Long, ByVal n As Long, ByVal a As Long) As String
Dim s As String
If m = 1 Then
s = IIf(n = 1, "1", "√" & n)
Else
s = IIf(n = 1, m, m & "√" & n)
End If
If (m <> 1) And (n <> 1) And (a <> 1) Then
s = "(" & s & ")"
End If
s = s & IIf(a = 1, "", "/" & a)
Debug.Print "f(" & m & ", " & n & ", " & a & ") : " & s
f = s
End Function
f(1, 1, 1) : 1
f(1, 1, 2) : 1/2
f(1, 2, 1) : √2
f(1, 2, 2) : √2/2
f(2, 1, 1) : 2
f(2, 1, 2) : 2/2
f(2, 2, 1) : 2√2
f(2, 2, 2) : (2√2)/2
Option Explicit
Sub Main()
Call f(1, 1, 1)
Call f(1, 1, 2)
Call f(1, 2, 1)
Call f(1, 2, 2)
Call f(2, 1, 1)
Call f(2, 1, 2)
Call f(2, 2, 1)
Call f(2, 2, 2)
End Sub
Function f(ByVal m As Long, ByVal n As Long, ByVal a As Long) As String
Dim s As String
If m = 1 Then
s = IIf(n = 1, "1", "n")
Else
s = IIf(n = 1, "m", "mn")
End If
s = s & IIf(a = 1, "", "/a")
Debug.Print "f(" & m & ", " & n & ", " & a & ") : " & s
f = s
End Function
f(1, 1, 1) : 1
f(1, 1, 2) : 1/a
f(1, 2, 1) : n
f(1, 2, 2) : n/a
f(2, 1, 1) : m
f(2, 1, 2) : m/a
f(2, 2, 1) : mn
f(2, 2, 2) : mn/a