打印两个不同数字的公倍数的程序

时间:2014-05-13 18:28:55

标签: vb.net variables loops if-statement

这是我这个项目的代码。

Module Module1
Sub Main()
    Dim X As Integer
    X = 0
    Do
        X = X + 1
        If X / 2 = 0 And X / 3 = 0 Then Debug.Print(X)
        System.Console.WriteLine(X)
    Loop Until (X = 100)
    Console.ReadKey()
End Sub
End Module

Everthing编译得很好,但它只打印数字1到100。我做错了什么?

2 个答案:

答案 0 :(得分:2)

你有两个问题。首先,您的Console.WriteLine不是If语句的一部分,因此无论如何都会写X,这就是为什么您会看到打印的每个数字。

这就是一个问题。下一个问题是你的If语句本身并不正确。我认为你正在寻找Mod来测试一个数字是否可以被另一个整除:

Module Module1
    Sub Main()
        Dim X As Integer
        X = 0
        Do
            X = X + 1
            If X Mod 2 = 0 And X Mod 3 = 0 Then
                Debug.Print(X)
                System.Console.WriteLine(X)
            End If
        Loop Until (X = 100)
        Console.ReadKey()
    End Sub
End Module

答案 1 :(得分:2)

我假设您正在查看是否有任何数字可以被2 3整除。如果是这种情况,那么您希望使用Mod函数,而不是/ ,因为没有数字除以任何其他数字= 0,除非该数字本身为0。

If x mod 2 = 0 and x mod 3 = 0 then
    'blah blah blah
end if