易しい標準入出力問題
倍数判定は演算子「%」を用いる! 問題へのリンク 問題概要 2 つの正の整数 が与えられる。 が の約数ならば の値を出力し、そうでないならば の値を出力せよ。 解法 が の約数 (言い換えると、 が で割り切れる) であるかどうかは、 if (B % A == 0) という…
直角三角形の面積を求める問題。 問題へのリンク 問題概要 ∠ ABC = 90° の直角三角形がある。 辺 AB, BC, CA の長さが与えられるので、直角三角形の面積を求めよ。 解法 直角を挟む二辺は、AB, BC であるから、面積は と計算できる。 実装するときには、整数…
落ち着いて処理しよう。 問題へのリンク 問題概要 D=25 なら Christmas D=24 なら Christmas Eve D=23 なら Christmas Eve Eve D=22 なら Christmas Eve Eve Eve と出力するプログラムを作ってください。 解法 if-else 文や、switch 文を用いて処理しよう。 …
論理演算子が使えるかが問われる。 問題へのリンク 問題概要 整数 が、7 または 5 または 3 であるかを判定せよ。 解法 if 文を用いればよい。「または」を判定するためには、論理演算子「||」が使える。 #include <bits/stdc++.h> using namespace std; int main() { int X</bits/stdc++.h>…
意外と問題文が読みにくい気もする。 問題へのリンク 問題概要 電車とバスを乗り継いで目的地にいきます。電車の運賃は 円、バスの運賃は 円でした。 ただし、バスの運賃が半額になる特別券を持っていたので使用しました。合計料金はいくらだったでしょうか…
最初に入力される値に応じて処理を分岐する問題! 問題へのリンク 問題概要 まず整数 を受け取る のとき:"Hello World" と出力せよ のとき:追加で整数 を入力として受け取り、 の値を出力せよ 解法 の値によって、最終的に受け取る入力の個数が変わる問題…
これまた重要な典型問題! 問題へのリンク 問題概要 両編成の列車の 両目は後ろから何両目か? 解法 前から 両目は、後ろから 両目 前から 両目は、後ろから 両目 ... 前から 両目は、後ろから 両目 というようになっていて、気づくのは「前から何両目か」と…
近年ここまで簡単な問題は珍しい! 2016 年でも通用する A 問題! 問題へのリンク 問題概要 2 個の整数 が与えられる。 のとき:"Bat" のとき:"Glove" と出力せよ。 解法 if 文で、どちらの方が大きいかを判定すれば OK。 #include <bits/stdc++.h> using namespace std; i</bits/stdc++.h>…
ここのところ、結構易しめの A 問題が続いているね! 問題へのリンク 問題概要 "hello2023" のように、"2023" で終わる文字列 が与えられる。 末尾の文字を '4' に変更して出力せよ。 解法 C++ では、文字列 の末尾の文字は S.back() でアクセスできる。 #in…
以前に "ABC398" などと出力する問題があったが、その強化版の問題 問題へのリンク 問題概要 解法 が 以上かどうかで場合分けすればよい。 #include <bits/stdc++.h> using namespace std; int main() { int N; cin >> N; if (N >= 1000) cout << "ABD" << endl; else cout <</bits/stdc++.h>…
関数 max() の使い方に慣れていれば解ける! 問題へのリンク 問題概要 2 個の整数 が与えられる。 の最大値を答えよ。 解法 関数 max() を使えばよい。C++ では、3 個以上の最大値を答えるときは、次のコードのように {} で囲うようにしよう。 #include <bits/stdc++.h> usi</bits/stdc++.h>…
3 人一組になる問題 問題へのリンク 問題概要 人がいる。 人が 1 グループになることができる。作れるグループの個数は最大何個か? 解法 を で割った商が答えとなる。その余りの人数だけ余ることになる。 #include <bits/stdc++.h> using namespace std; int main() { int </bits/stdc++.h>…
ABS に採用した問題! 問題へのリンク 問題概要 2 つの正の整数 が与えられる。 が偶数か奇数かを判定せよ。 解法 一般に、整数 N が偶数かどうかを判定する方法は、if (N % 2 == 0) とすればよい。これを応用して解ける。 #include <bits/stdc++.h> using namespace std; i</bits/stdc++.h>…
時刻の問題! 問題へのリンク 問題概要 今、12 月 30 日の 時です ()。年が明けるのは何時間後でしょうか。 解法 12 月 30 日と、12 月 31 日の 2 日間の時間をすべて合わせると 時間 あります。そのうちの 時間がすでに経過しているということなので、年が…
これは簡単だけど、頭がごちゃごちゃにならないようにしよう! 問題へのリンク 問題概要 ある駐車場では 2 パターンが選べる 時間駐車したときに、 円かかる 駐車時間にかかわらず、 円かかる 時間駐車したときの料金の最小値を求めよ。 解法 2 パターンの駐…
これは簡単! 問題へのリンク 問題概要 のマス目があって、それぞれ白黒に塗られている。 マスが白色であるとき、黒色は何マスか? 解法 全部で マスがあるので、黒色マスの個数は となる。 #include <bits/stdc++.h> using namespace std; int main() { int N, A; cin >> N</bits/stdc++.h>…
if 文を使ってもいいし、関数 max() を使ってもいい 問題へのリンク 問題概要 秒を測れる砂時計がある。 g あって、1 秒間に 1 g の砂が落ちる。 砂時計の計測を始めてから、 秒間がたった。残っている砂は何 g でしょうか。 解法 基本的には引き算すればよ…
標準入出力を習い始めた人が解くのにいい問題! 問題へのリンク 問題概要 3 桁の整数値 が与えられるので、それに "ABC" をつけて出力せよ。 例:168 → "ABC168" 解法 を受け取って、"ABC" とともに を出力すれば OK。 #include <bits/stdc++.h> using namespace std; int m</bits/stdc++.h>…
この時代の ABC にありがちな「3 つの入力」を扱う系の問題 問題へのリンク 問題概要 3 つの整数 が与えられる。 これらの整数から 2 つ選んで足した値の最小値を求めよ。 解法 関数 min() を使うのが楽だと思う。3 つから 2 つ選んだ和は の 3 パターンがな…
if 文のいい練習問題! 問題へのリンク 問題概要 2 つの整数 が与えられる。 が 10 以上ならば "error" を出力し、そうでないならば足し算した結果の値を出力せよ。 解法 if 文を使おう! #include <bits/stdc++.h> using namespace std; int main() { int A, B; cin >> A ></bits/stdc++.h>…
C++ では if (A <= C <= B) では判定できないことに注意 問題へのリンク 問題概要 3 つの整数 が与えられる。 が 以上 以下であるかを判定せよ。 解法 C >= A かつ C <= B であるかを判定すれば OK。 Python なら if (A <= C <= B) で判定することもできる。…
算数力の地力としての、四則演算を操る技能が問われる問題 問題へのリンク 問題概要 個買う。 個買うごとに 800 円支払う 個買うごとに 200 円もらえる 支払った金額 - もらった金額を答えよ。 解法 支払った金額は 800 * N もらった金額は 200 * (N / 15) …
if 文の練習問題。 問題へのリンク 問題概要 整数 が与えられる。 ならば "ABC" ならば "ARC" を出力せよ。 解法 if 文で処理を分岐すれば OK。 #include <bits/stdc++.h> using namespace std; int main() { int x; cin >> x; if (x < 1200) cout << "ABC" << endl; else c</bits/stdc++.h>…
if 文を使ってもいいし、関数 max() を使ってもいい 問題へのリンク 問題概要 縦・横の長さが である長方形と、縦・横の長さが である長方形が与えられる。 これらの長方形の面積のうち、大きい方の面積を答えよ。ただし、面積が等しい場合にはその面積を答…
いかにも C 言語を習いたての学生さんに対する演習問題という感じ 問題へのリンク 問題概要 2 つの整数 と、演算子を表す 1 つの文字列 が与えられる。 は '+' か '-' のいずれかである。 演算結果を求めよ。 解法 if 文を用いて処理を分岐する。 #include <bits/stdc++.h> </bits/stdc++.h>…
if 文を使う! 問題へのリンク 問題概要 英小文字 が与えられる。 が母音かどうかを判定せよ。 解法 が 'a', 'i', 'u', 'e', 'o' のいずれかであるかを if 文を用いて判定する。 #include <bits/stdc++.h> using namespace std; int main() { char c; cin >> c; if (c == 'a</bits/stdc++.h>…
久しぶりに本当に簡単だと言える A 問題! 問題へのリンク 問題概要 2 つの文字列 が与えられる (これは苗字と名前を表している)。 + " " + "san" を出力せよ。 コード 標準入力から文字列を受け取る技術があれば解ける問題。 を出力したあと、" san" を出力…
Yosupo Judge で最初に解くであろう問題 問題へのリンク 問題概要 2 つの整数 が与えられるので、 を出力してください。 制約 考えたこと 10Q 相当の問題。標準入力ができる人なら解けるはず。 コード #include <iostream> #include <vector> using namespace std; int main() </vector></iostream>…
台形の面積!! 問題へのリンク 問題概要 上底の長さが 、下底の長さが 、高さが の台形の面積を求めよ。 コード 台形の面積 は で計算できる。これをそのまま実装すれば AC できる。ただし、 のところだけ注意が必要。今回はよく見ると「 が偶数」とあるの…
浮動小数点型の出力を練習できる問題ですね 問題へのリンク 問題概要 半径 の円の円周の長さを求めよ。 考えたこと を出力すれば OK。 については、一つの方法として double PI = acos(-1.0); とするのをよくやる! また、小数点 10 桁まで出力するとかは co…