[R7A] K的倍数

  • 难度 入门
  • 时限 1s
  • 空限 512m
  • 数学

数据规模:1LR1061 \le L \le R \le 10^61K1061 \le K \le 10^6

思路

[L,R][L, R]KK 的倍数个数为 R/K(L1)/K\lfloor R / K \rfloor - \lfloor (L - 1) / K \rfloor,即前缀 [1,x][1, x]KK 的倍数个数之差,直接 O(1)O(1) 计算。

复杂度:时间 O(1)O(1),空间 O(1)O(1)

仓颉实现

import std.convert.*
import std.env.*

main() {
    let reader = getStdIn()
    let line = reader.readln().getOrThrow().split(" ", removeEmpty: true).map({ p => Int64.parse(p) })
    let l = line[0]
    let r = line[1]
    let k = line[2]
    println(r / k - (l - 1) / k)
}