易しい算数と数学
これは難しいですね。何も考えずに for 文で求めるのが比較的楽でしょうか。 問題へのリンク 問題概要 と番号のついた 人に、 枚のカードを配っていく。 人 から始めて、人 の順に 1 枚ずつカードを配るとき、最後のカードは誰に配られるでしょうか? 解法 1…
これ結構難しいと思う! 数学 IA の「場合の数」をやると、よく出て来るやつですね。 問題へのリンク 問題概要 英小文字のみからなる長さ 3 の文字列 が与えられます。 の各文字を並び替えて得られる文字列は、何種類ありますか? 解法 「3 個のものを並び替…
for 文を用いるのが楽だと思う。 問題へのリンク 問題概要 マグニチュード の地震は、マグニチュード の地震の何倍の強さか? (1 上がると 32 倍となる) 制約 解法 を 回かけた値を求めればよい (つまり )。 これを求めるためには、関数 pow() を用いるか、f…
とても教育的な問題! 問題へのリンク 問題概要 整数 が与えられる。 以上 以下の整数は何個あるか? 解法 まず、 の場合は、 以上 以下の整数は存在しないことに注意しよう。この場合は 0 個と答えれば良い。 それでは、 としよう。この場合は、 以上 以下…
「この数からこの数の間の数はすべて作れる」という考え方をする問題。この考え方は、より高度な問題では頻出! 問題へのリンク 問題概要 1〜6 の目が出るサイコロを 回振った。 出た目の総和が になることがありうるかどうかを判定せよ。 解法 これは難しい…
出力がややこしい...... 問題へのリンク 問題概要 税抜価格が 円の品物に対して、消費税 8% を乗せた税込価格と 206 円との大小比較をせよ。 (出力形式はリンク先から) 解法 税込価格は (int)(1.08 * N) で求めることができる。 #include <bits/stdc++.h> using namespace s</bits/stdc++.h>…
算数ではよくある「比」の問題 問題へのリンク 問題概要 100mL あたり kcal のドリンクがある。 mL で何 kcal でしょうか? 解法 求めるカロリーを kcal とする。比で表すと、次のようになる。 内項の積と外項の積は等しいから、 よって、 と求められる。 今…
ジャンケンの問題。何気に将来非常によく出てくる構造を問う問題でもある。 問題へのリンク 問題概要 3 人でジャンケンをしたらあいこになった。3 人のうちの 2 人の出した手がわかっている。残り 1 人の手を答えよ。 なお、0 はグー、1 はチョキ、2 はパー…
算数! 問題へのリンク 問題概要 サイコロの 6 面のうち、3 面の数 が見えている。 隠れている残り 3 面の数の和を求めよ。 解法 6 面の数の和は なので、これから を引けばよい。 #include <bits/stdc++.h> using namespace std; int main() { int a, b, c; cin >> a >> b </bits/stdc++.h>…
不等式を頑張って実装! 問題へのリンク 問題概要 3 個の整数 が与えられる。 であるかどうかを判定せよ。 解法 if (A * A + B * B < C * C) によって判定できる。 #include <bits/stdc++.h> using namespace std; int main() { int A, B, C; cin >> A >> B >> C; if (A * A</bits/stdc++.h>…
実はすごく簡単なのだが、戸惑うかもしれない。 問題へのリンク 問題概要 個のものを A 君と B 君で分け合う。 A 君も B 君も 1 個以上もらうようにするとき、分け方は何通りあるか? 解法 次の 通りある。 A 君: 個、B 君: 個 A 君: 個、B 君: 個 ... A…
割合を計算する問題! 問題へのリンク 問題概要 円のものが 円で売られた。何%引きか? 解法 答えは である。これを double 型などで計算して、小数点第 2〜3 位まで答えれば OK。 ここでは念の為に、小数点第 10 位まで出力した。 #include <bits/stdc++.h> using namespac</bits/stdc++.h>…
不等式の問題! 問題へのリンク 問題概要 高橋君の投げたボールは、速度 で移動し、 秒後から 秒後の間に消える。 ボールから m の位置にいる青木君にとって、ボールが消えていないかどうかを判定せよ。 解法 消えている条件を不等式で書くと、次のようにな…
これは整理するのが大変!!! 問題へのリンク 問題概要 高橋君は 個のアメを持っていて、青木君は 個のアメを持っている。 交互に自分のアメを食べていき、先に食べられなくなった方が負けである。 ならば高橋君が先手、 ならば青木君が後手。 どちらか勝つ…
3-point shot で逆転できるという条件を、上手に数式に落とし込もう! 問題へのリンク 問題概要 バスケの試合で両チームの得点は 点である ( である)。 どちらかのチームに 3 点追加されたときに、逆転が起こるかどうかを判定せよ。 解法 のどちらが大きいか…
割り算の練習! 問題へのリンク 問題概要 トラックには合計で キログラム以下の荷物を載せることができます。 このトラックに、1 個 キログラムのレンガを最大でいくつ載せることができますか? 解法 中学 1 年生の数学「文字と式」を習うときの気持ちを思い…
if 文を使ってもいいし、関数 max() を使ってもよい。 問題へのリンク 問題概要 整数 が与えられる。 ならば を出力せよ ならば 0 を出力せよ 解法 (1):if 文 if 文を用いて、 であるかどうかを判定して、処理を分けよう。 #include <bits/stdc++.h> using namespace std; </bits/stdc++.h>…
偶数か奇数かを判定する問題! 問題へのリンク 問題概要 高橋君の今日の状態は "White" である。 毎日 "White" と "Black" が入れ替わる。 日後の状態を答えよ。 解法 が偶数ならば、"White" が奇数ならば、"Black" である。 #include <bits/stdc++.h> using namespace std;</bits/stdc++.h>…
if 文を用いてもいいが、もっと楽にできる! 問題へのリンク 問題概要 0 か 1 である整数 が与えられる。 ならば 1 を出力し、 ならば 0 を出力せよ。 解法 if 文を用いてもよいが、 を出力するのが簡単だ。 #include <bits/stdc++.h> using namespace std; int main() { in</bits/stdc++.h>…
double 型を使いたくなる問題。実は使わなくても解ける。 問題へのリンク 問題概要 メートル離れた場所で待ち合わせがある。残り時間は 分である。 分速 メートルで向かうとき、待ち合わせ時間に間に合うか? 解法 分速 メートルで メートル進むのに要する時…
この手の「切り上げ処理」は、もう憶えてしまおう! 問題へのリンク 問題概要 個のたこ焼きを作りたい。 たこやきを作り始めてから、 秒おきに 個のたこ焼きを作る。 個のたこ焼きを作り切るのに最低何秒かかるか。 解法 たこやきを生産する回数は、次のよう…
ちょっと難しい問題。 問題へのリンク 問題概要 3 文字の 'R' と 'S' のみからなる文字列 が与えられる。 において、'R' が最大で何個連続しているかを答えよ。 解法 ありうる文字列は 通りあることに注意しよう。よって、すべての文字列を調べることができ…
これはちょっと難しい。 問題へのリンク 問題概要 円の買い物をした。1000 円札のみを用いて支払うとき、お釣りはいくらになるか? 解法 まず、 が 1000 で割り切れるときは、お釣りはない。つまり、0 円である。 が 1000 で割り切れないときが少し難しい。…
算数の素養は必要なく、ただ本当に計算式を実装する。 問題へのリンク 問題概要 整数 が与えられる。 の値を出力せよ。 解法 とは、 のことである。また、 とは、 のことである。 よって、 a + a * a + a * a * a の値を出力すればよい。 #include <bits/stdc++.h> using na</bits/stdc++.h>…
色んな解法がある! この手の数値的なものに対して「全探索」という解法を選択肢に持てるようにしていこう。 問題へのリンク 問題概要 3 個の正の整数 が与えられる。次の条件を満たす整数が存在するかどうかを判定せよ。 の倍数である 以上 以下である 制約…
nC2 系の問題は ABC-D などで頻出だが、その練習ができる問題! 問題へのリンク 問題概要 偶数の書かれたボールが 個 奇数の書かれたボールが 個 あります。これら 個のボールから 2 個選んで、書かれた数の和をとります。 この和が偶数になるような選び方は…
この切り上げ処理はぜひ憶えておこう! 問題へのリンク 問題概要 高橋君は、全 ページから成る書類を両面印刷する。両面印刷では、1 枚の紙に 2 ページ分のデータを印刷することができる。 最小で何枚の紙が必要か求めよ。 解法 が偶数のときは、 は 2 で割…
ちょっとした式変形のスキルも要求される。 問題へのリンク 問題概要 コンテストの参加回数 、表示レーティングは次のようになる。 のとき:内部レーティングに一致する のとき:内部レーティングから を引いた値となる 高橋君のコンテスト参加回数が で表示…
これは結構難しい。いろんな解法がある。 問題へのリンク 問題概要 個の整数 が与えられる。 これらのうち 2 個の値が等しく、残りの 1 個の値がそれらと異なるならば "Yes" を出力せよ。そうでなければ "No" を出力せよ。 解法 ABC-A の前提知識ではないが…
これはとても教育的な問題!! 問題へのリンク 問題概要 HP が であるモンスターとサーバルは戦っている。 1 回の攻撃で HP を だけ減らすことができる。HP が 0 以下になるのに必要な攻撃回数を求めよ。 解法 (1) を で割ったときに、余りがあるならば追加…