gpt4 book ai didi

java - 大数范围内 x 的倍数

转载 作者:行者123 更新时间:2023-11-30 03:41:00 26 4
gpt4 key购买 nike

我想这是简单的数学,但我就是无法弄清楚+我是编码新手。我需要找出一个范围内有多少个数字可以被 x 整除。举个例子:我需要找出 11 到 30 范围内有多少个数字可以被 3 整除。答案是 7,我已经编码了:

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

然而,当我检查每个数字时,这对于大量数字来说非常糟糕。我尝试这样做 c = (b-a)/3,但显然这并不适用于所有示例,就像它不适用于上面的示例一样。那么,您能帮我找到某种简单的方程式来帮我计算这个吗?我因为无法弄清楚这一点而感到自己很愚蠢。

最佳答案

在伪代码中:

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

1130的示例中,c12d code> 为 30,最终答案为 7

关于java - 大数范围内 x 的倍数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26824472/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com