ReDim temp(SUM) For i = 0 To SUM ' allow zero temp(i) = "X1=" & i & ",X2=" & SUM - i Next GETRESULT = Join(temp, vbCrLf) Erase temp Else ReDim temp(1 To SUM - 1) 'forbid zero For i = 1 To SUM - 1 temp(i) = "X1=" & i & ",X2=" & SUM - i Next GETRESULT = Join(temp, vbCrLf) Erase temp End If
End If If n > 2 Then
If allowzero = True Then ReDim temp(SUM) For i = SUM To 0 Step -1 ' allow zero temp(i) = Replace(GETRESULT(n - 1, i, True), vbCrLf, ",X" & n & "=" & SUM - i & vbCrLf) & ",X" & n & "=" & SUM - i Next GETRESULT = Join(temp, vbCrLf) Erase temp Else If SUM < n Then MsgBox "无解!": Exit Function '无解情况 ReDim temp(1 To SUM - n + 1) 'not allow zero For i = 1 To SUM - n + 1 temp(i) = Replace(GETRESULT(n - 1, SUM - i, False), vbCrLf, ",X" & n & "=" & i & vbCrLf) & ",X" & n & "=" & i '递归 Next
GETRESULT = Join(temp, vbCrLf) Erase temp End If End If End Function
|