You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何不使用循环统计指定区间内某个数值的倍数数量

无循环统计区间内指定数值倍数个数实现方案

已知变量定义

a=10, b=20, c=3

实现逻辑

完全无需循环,直接通过数学公式计算即可,适配a、b大小顺序任意的场景:

  • 先确定区间的上下界:取a、b的最小值为左边界left,最大值为右边界right
  • 计算不大于右边界的c的正倍数总个数:right // abs(c)
  • 计算小于左边界的c的正倍数总个数:(left - 1) // abs(c)
  • 两个数值的差值就是区间内符合要求的总个数

注:若c为0无实际倍数意义,可根据业务需求返回0或抛出异常,示例默认返回0

Python代码实现

a, b, c = 10, 20, 3
left = min(a, b)
right = max(a, b)
if c == 0:
    res = 0
else:
    res = right // abs(c) - (left - 1) // abs(c)
print(res)

效果验证

以示例输入为例:

  • 不大于20的3的倍数有3、6、9、12、15、18,共6个
  • 小于10的3的倍数有3、6、9,共3个
  • 差值为6-3=3,对应符合要求的数值12、15、18,和预期输出一致

内容的提问来源于stack exchange,提问作者user17051256

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 18:57:03