Print/Output 立即变量值 window
Print/Output variable values to immediate window
我正在尝试编写一些 vba 来打印满足以下限制的值:
b * k = t * k
lambda = r * (k - 1) / (t - 1)
,其中 (t - 1) >= (k - 1)
& lambda
必须是整数。
算法如下:
Sub BIBDs()
Dim t, b, k, r As Integer
Dim lambda As String
For t = 2 To 50
For b = 2 To 20
For r = 1 To 20
For k = 3 To 5
If b * k = t * k & (t - 1) >= (k - 1) Then
lambda = r * (k - 1) / (t - 1)
If lambda = Int(lambda) Then
Debug.Print t, b, r, k, lambda
End If
End If
Next k
Next r
Next b
Next t
End Sub
"Immediate" window 中未打印任何内容。我不确定算法或我的打印方法有问题。具体来说,我不确定我是否正确地检查了 lambda 是一个整数。
尝试
If b * k = t * k And (t - 1) >= (k - 1) Then
而不是
If b * k = t * k & (t - 1) >= (k - 1) Then
VBA中的&运算符与逻辑与运算符不同:https://msdn.microsoft.com/en-us/library/wfx50zyk.aspx
我正在尝试编写一些 vba 来打印满足以下限制的值:
b * k = t * k
lambda = r * (k - 1) / (t - 1)
,其中 (t - 1) >= (k - 1)
& lambda
必须是整数。
算法如下:
Sub BIBDs()
Dim t, b, k, r As Integer
Dim lambda As String
For t = 2 To 50
For b = 2 To 20
For r = 1 To 20
For k = 3 To 5
If b * k = t * k & (t - 1) >= (k - 1) Then
lambda = r * (k - 1) / (t - 1)
If lambda = Int(lambda) Then
Debug.Print t, b, r, k, lambda
End If
End If
Next k
Next r
Next b
Next t
End Sub
"Immediate" window 中未打印任何内容。我不确定算法或我的打印方法有问题。具体来说,我不确定我是否正确地检查了 lambda 是一个整数。
尝试
If b * k = t * k And (t - 1) >= (k - 1) Then
而不是
If b * k = t * k & (t - 1) >= (k - 1) Then
VBA中的&运算符与逻辑与运算符不同:https://msdn.microsoft.com/en-us/library/wfx50zyk.aspx