けんちょんの競プロ精進記録

競プロの精進記録や小ネタを書いていきます

各桁の値を考える問題

AtCoder ABC 254 A - Last Two Digits (灰色, 100 点)

整数として扱っても解けるけど、文字列として処理するのが楽だと思う! 問題へのリンク 問題概要 100 以上の 3 桁の整数 が与えられるので、 の下二桁を出力せよ。 解法 3 桁の整数値を文字列 N として入力を受け取ろう。たとえば、459 という整数は、"459" …

JOI 一次予選 2023 (第 1 回) B - ゾロ目 (8Q, 難易度 1)

数値を文字列型で受け取るのが楽だと思われる。 問題へのリンク 問題概要 2 桁の整数 が与えられる。 がゾロ目であるかどうかを判定せよ。 解法 (1): を文字列型で受け取る 最も楽だと思われる方法は、 の値を文字列型で受け取ることだと思われる。たとえば…

JOI 一次予選 2024 (第 3 回) B - 桁 (7Q, 難易度 1)

A 問題よりは少しレベルアップする! 問題へのリンク 問題概要 2 つの正の整数 が与えられる。 が何桁になるかを求めよ。 制約 解法 まず、 の値を計算しましょう。その値を仮に としましょう。 残る問題は、この整数値 が何桁なのかを求めることです。 方法…

AtCoder ABC 111 B - AtCoder Beginner Contest 111 (7Q, 灰色, 100 点)

探索してしまうのが楽だと思われる。 問題へのリンク 問題概要 整数値 が与えられる。 以上の整数のうち、最小のゾロ目の数を答えよ。 制約 考えたこと 基本的には、次の方針がとれそうだ。 の順に探索し、最初に がゾロ目である瞬間を捉えて、 を出力する。…

AtCoder ABC 235 A - Rotate (7Q, 灰色, 100 点)

上手くやろう! 問題へのリンク 問題概要 3 桁の整数 が与えられるので、 の値を求めよ。 解法 まず、整数 の値を取得しよう。いろんな方法が考えられるが、3 桁の整数を文字列として入力を受け取り、0 文字目、1 文字目、2 文字目の値を見るのが簡単だと思…

鉄則本 A04 - Binary Representation 1 (6Q, ★2)

ここでは鉄則本に乗っているのとは異なる方法でやってみよう! 問題へのリンク 問題概要 整数 が与えられる。 を二進法表記したものについて、先頭を 0 埋めすることで 10 桁で答えよ。 解法:二進法とは 整数 を二進法で表したときの各桁の値が求められれば…

AtCoder ABC 187 A - Large Digits (7Q, 灰色, 100 点)

文字列として処理した方が楽。 問題へのリンク 問題概要 3 桁の正の整数 が与えられる。これらの整数の桁和の最大値を求めよ。 制約 整数 はそれぞれ文字列として受け取った方が楽だと思われる。そうすると、 たとえば、3 桁の整数を表す文字列 A について …

AtCoder ABC 168 A - ∴ (Therefore) (8Q, 灰色, 100 点)

ちょっと一見面倒な問題。 問題へのリンク 問題概要 999 以下の正の整数 が与えられる。 の一の位の値に応じて、bon / pon / hon のいずれかを付けよ(詳細はリンク先参照)。 解法 の一の位の値は N % 10 で取得できる。この値を調べればよい。 ここで、コ…

AtCoder ABC 114 A - 753 (8Q, 灰色, 100 点)

論理演算子が使えるかが問われる。 問題へのリンク 問題概要 整数 が、7 または 5 または 3 であるかを判定せよ。 解法 if 文を用いればよい。「または」を判定するためには、論理演算子「||」が使える。 #include <bits/stdc++.h> using namespace std; int main() { int X</bits/stdc++.h>…

AtCoder ABC 111 A - AtCoder Beginner Contest 999 (8Q, 灰色, 100 点)

文字列として処理する方が楽であろう。 問題へのリンク 問題概要 3 桁の整数 が与えられる。 の各桁の値について、1 は 9 に変換し、9 は 1 に変換したものを出力せよ。 解法 整数ではなく、文字列として処理する方が楽だと思われる。各文字について、 '1' …

AtCoder ABC 110 A - Maximize the Formula (灰色, 100 点)

整理するのが難しい! 問題へのリンク 問題概要 3 個の 1 桁の整数 が与えられる。 このうちの 2 個を選んで並べて 2 桁の整数を作る。さらに、その残りの 1 個の整数をそれに足す。 こうしてできる整数の最大値を求めよ。 解法 たとえば、3 個の整数が のと…

AtCoder ABC 079 A - Good Integer (7Q, 灰色, 100 点)

これは難しい! 問題へのリンク 問題概要 4 桁の整数 が与えられる。この整数が「同じ数字が 3 つ以上連続しているか」を判定せよ。 解法 を文字列として受け取る方が楽だと思われる。このとき、同じ数字が 3 つ以上連続するのは次の 2 パターンがある。 N …

AtCoder ABC 073 A - September 9 (灰色, 100 点)

整数値のままでも解けるし、文字列として受け取って解いてもいい。 問題へのリンク 問題概要 2 桁の整数 が与えられる。 が '9' を含むかどうかを判定せよ。 解法 を整数値で処理する場合は 一の位は N % 10 十の位は N / 10 で求められる。これを利用して判…

AtCoder ABC 070 A - Palindromic Number (8Q, 灰色, 100 点)

を文字列として受け取るのが楽だと思う! 問題へのリンク 問題概要 3 桁の整数 が与えられる。 が回文数であるかどうかを判定せよ。 解法 を整数ではなく、文字列として受け取ろう。そうすれば 「先頭の文字と末尾の文字が等しいかどうか」 を判定すれば OK…

AtCoder ABC 326 B - 326-like Numbers (6Q, 灰色, 200 点)

整数 が 326-like 数かどうかを判定する処理が書ければ、この問題は解ける。 問題へのリンク 問題概要 整数 が 326-like 数であるとは、3 桁の正の整数であって、百の位と十の位の積が一の位に等しいことをいう。 与えられた整数 以上の、最小の 326-like 数…

AtCoder ABC 321 A - 321-like Checker (7Q, 灰色, 100 点)

入力を文字列として受け取ってしまうのが楽だと思う! 問題へのリンク 問題概要 各桁の値が単調減少 (等しいはダメ) になっている数を 321-like 数と呼ぶことにする。 たとえば、971 や 5 は 321-like 数であるが、978 や 988 は 321-like 数ではない。 与え…

AtCoder ABC 314 A - 3.14 (7Q, 灰色, 100 点)

円周率の問題が出るのは多くの人が想定していた。円周率を文字列にしてしまえばいいという発想が少し難しいかもしれない。また、添字計算が少し大変だったかもしれない。 問題へのリンク 問題概要 円周率 の小数点第 100 位までは 3.14159265358979323846264…