Kazun の競プロ記録

競技プログラミングに関する様々な話題を執筆します.

AtCoder Beginner Contest 239 B問題 Integer Division

問題

atcoder.jp

提出解答

atcoder.jp

問題の概要

 \displaystyle \left \lfloor \dfrac{X}{10} \right \rfloor を求めよ.

制約

  •  -10^{18} \leq X \leq 10^{18}

解法

この問題を解くためには自分が使っている言語の性質について注意しなければならない. 例えば,

  •  B が正のとき,  {\tt A/B} が何を意味するか?

がある. よく使われる C++, Python においては

  • C++ では  {\tt A/B} A B で割って少数点以下を無視した値になる.
  • Python では  {\tt A/B} \frac{A}{B} を意味する.

といった理由から  A B で割った整数商を求めるためには, それぞれの言語にあった対応が必要である.

  • C++ では正の場合, 負の場合, 更に  A B の倍数かどうかで場合分けする.
  • Python では  {\tt A//B} で求めることができる.