将变量值打印/输出到即时窗口

时间:2015-09-21 14:54:14

标签: algorithm vba debug-print

我试图写一些会打印满足以下限制的值的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

"立即&#34>没有打印任何内容。窗口。我不确定算法或我的打印方法是否有问题。具体来说,我不确定我是否正确检查lambda是一个整数。

1 个答案:

答案 0 :(得分:2)

尝试

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