有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java大数范围内x的倍数

我想这是一个简单的数学问题,但我就是搞不懂+我对编码还不熟悉。我需要找出在一个范围内有多少个数字可以被x整除。举个例子:我需要找出11到30之间有多少数字可以被3整除。答案是7,我已经编码好了:

while (a <= b) {
    if (a % 3 == 0) {
        c++;
        a++;
    else {
        a++;
    }
}

然而,当我检查每一个数字时,这对大的数字非常有效。我试过做c = (b-a)/3,但显然这并不适用于所有示例,就像上面的示例一样。所以,你能帮我找到一个简单的方程,可以为我计算这个。我觉得自己太蠢了,没能搞清楚这件事


共 (1) 个答案

  1. # 1 楼答案

    在psudo代码中:

    1. 计算可被3整除且大于 ac = math.ceil(a / 3) * 3
    2. 计算可被3整除的小于 bd = math.floor(b / 3) * 3
    3. 答案是(d - c) / 3 + 1

    1130的例子中,c12,而d30,最后的答案是7