整数・数論ページの位置づけ
| 項目 | 内容 |
|---|---|
| 必修度 | 重要 |
| 学習目安 | 標準 |
| 前提 | 整数演算・math |
| 対象問題 | 108問(推定値あり107問、未算出1問) |
この記事のdifficulty区分は、問題を解く順番を決めるための目安です。AtCoderの公式なA〜F区分ではなく、取得できたdifficulty推定値を次の範囲に分けています。
| 学習目安 | difficulty推定値 | 問題数 |
|---|---|---|
| 入門 | difficulty < 0 | 34 |
| 標準 | 0〜799 | 24 |
| 標準〜発展 | 800〜1199 | 16 |
| 発展 | 1200以上 | 33 |
| 未算出 | — | 1 |
倍数の重複を包除原理で整理し、GCD・LCMや約数の偶奇を使って数えます。
問題ごとの細かな実装は異なりますが、最初に確認する条件は共通しています。
整数・数論の見分け方
- 倍数を数える条件がある
- 同じ対象を複数条件で数えている
- 約数や偶奇が答えを決める
整数・数論の実装前チェック
- 端点を含む個数をF(B)-F(A-1)で確認する
- GCDからLCMを安全に作る
- 約数の走査順と既決定の値を整理する
先に確認する文法・ライブラリ
まずは必須Python文法で、入力・配列・条件分岐・ループなどの基本を確認してください。問題に合わせたキュー、ヒープ、二分探索などの選び方は標準ライブラリ・定石にまとめています。
代表問題で実装を確認する
最初の一問として、ABC220 A Find Multiple(公式解説)を解きます。区間内でCの倍数が最初に現れる位置を、切り上げ除算で直接求めます。順番に試す必要はありません。
A, B, C = map(int, input().split())
first = (A + C - 1) // C * C
print(first if first <= B else -1)
切り上げ除算だけなのでO(1)時間・O(1)メモリです。
整数・数論の学ぶ順番
このページでは全件を一度に並べず、difficultyの推定値を目安に代表問題を段階分けしています。難易度が未算出の問題は、制約と出題意図を先に確認します。
まず解く
| 問題 | 公式解説 | 出題意図 | difficulty |
|---|---|---|---|
| ABC254 A Last Two Digits | 公式解説 | 整数を100で割った余りとして下2桁を取り出し、必要ならゼロ埋めして出力する。 | -1194 |
| ABC256 A 2^N | 公式解説 | 2のN乗を計算する。 | -1191 |
| ABC187 A Large Digits | 公式解説 | Compute the decimal digit sum of each input and output the larger one. | -1172 |
| ABC235 A Rotate | 公式解説 | 3桁の数字を3通りに回転して整数化し、その和を求める。 | -1104 |
| ABC340 A Arithmetic Progression | 公式解説 | Official editorial intent is classified as arithmetic progression output. | -1100 |
次に解く
| 問題 | 公式解説 | 出題意図 | difficulty |
|---|---|---|---|
| ABC365 A Leap Year | 公式解説 | Official editorial intent is classified as leap year. | -1071 |
| ABC379 A Cyclic | 公式解説 | 3桁を一文字ずつ巡回シフトして出力する。 | -1053 |
| ABC363 A Piling Up | 公式解説 | Official editorial intent is classified as next hundred. | -1042 |
| ABC411 A Required Length | 公式解説 | 公式Editorialの方針を required length arithmetic として整理する。 | -1028 |
| ABC347 A Divisible | 公式解説 | Official editorial intent is classified as divisible filter. | -1026 |
挑戦問題
| 問題 | 公式解説 | 出題意図 | difficulty |
|---|---|---|---|
| ABC220 A Find Multiple | 公式解説 | A以上の最小のCの倍数を切り上げで求め、B以下なら出力する。 | -933 |
| ABC226 A Round decimals | 公式解説 | 小数値を四捨五入し、整数として出力する。 | -930 |
| ABC216 A Signed Difficulty | 公式解説 | 小数点以下の1桁を読み、0〜2・3〜6・7〜9の範囲で評価記号を付ける。 | -860 |
| ABC387 B 9×9 Sum | 公式解説 | 9×9表の指定部分の積和を二重ループで求める。 | -785 |
| ABC354 A Exponential Plant | 公式解説 | Official editorial intent is classified as ceil log2. | -770 |
問題文を読んだら、まず「見分け方」のどれに当たるかを一行で記録します。当てはまらない問題は、別のページへ移す判断自体を復習材料にします。





