ABC048B - Between a and b ...

atcoder.jp

0 〜 b の範囲内で x で割り切れる値の個数から、0 〜 a-1 の範囲内中で x で割り切れる値の個数を差し引けばいい。ただ、a が 0 のときだけ特殊で、0 は x で割り切れるため +1 する。

using System;

namespace ABC048B
{
    class Program
    {
        static void Main(string[] args)
        {
            var input = Console.ReadLine().Split(' ');
            var a = long.Parse(input[0]);
            var b = long.Parse(input[1]);
            var x = long.Parse(input[2]);
            if (a == 0)
            {
                // 0..b の範囲の中で x で割り切れる値の個数を求める。
                // 0 は x で割り切れるので +1 する。
                var answer = (b / x) + 1;
                Console.WriteLine(answer);
            }
            else
            {
                // 0..b の範囲の中で x で割り切れる値の個数から、
                // 0..(a-1) の範囲の中で x で割り切れる値の個数を引く。
                var answer = (b / x) - ((a - 1) / x);
                Console.WriteLine(answer);
            }
        }
    }
}