package main import ( "bufio" "fmt" "os" ) func main() { var l, r, d int fmt.Scan(&l, &r, &d) wtr := bufio.NewWriter(os.Stdout) for i := 0; i < d; i++ { // 初項iで公差dの等差数列を考える // l <= i+d*(n-1) なるnと // i+d*(m-1) <= rなるmを求めて、m-n+1を計算する // l-i <= d*(n-1) => l-i <= n*d -d => n*d >= l-i+d => n >= (l-i+d)/d // d*(m-1) <= r-i, d*m -d <= r-i => d*m <= r-i+d => m <= (r-i+d)/d n := ((l - i + d) + (d - 1)) / d // 切り上げ or Ceil m := (r - i + d) / d // 切り捨て or Floor fmt.Fprintln(wtr, m-n+1) } wtr.Flush() }