NoviSteps9Q
中1レベルの数学の素養が必要になる。文字式の扱いに慣れていれば解けるはず! 問題へのリンク 問題概要 ビ太郎は 秒間,秒速 m で走った。 何 m 走ったか出力せよ。 解法 答えは、数式で書くと となる。 これをプログラムで書いてみよう。整数値 を整数型変…
基本的な文字列操作の問題! 問題へのリンク 問題概要 文字列 が与えられる。 の先頭の文字に "UPC" を付け加えてできる文字列を出力せよ。 考えたこと 文字列 S の先頭の文字は S[0] によって取得できる。その文字を出力したあと、続けて "UPC" を出力すれ…
久しぶりに簡単な問題の到来! 問題へのリンク 問題概要 正の整数 が与えられるので、 の二乗の値を出力せよ。 考えたこと の二乗は、 (A + B) * (A + B) によって計算できる。これを実装すればよい。 コード #include <bits/stdc++.h> using namespace std; int main() { i</bits/stdc++.h>…
とても易しい算数の問題! 問題へのリンク 問題概要 円もっている。 1 個 5 円の鉛筆を何本買えるか? 解法 答えは「 を 5 で割った商」となります。これは C++ では A / 5 と書けます。 コード #include <bits/stdc++.h> using namespace std; int main() { int A; cin >> </bits/stdc++.h>…
if 文の練習問題 問題へのリンク 問題概要 高橋君の現在のレーティングは 、最高レーティングは である。 高橋君の最高レーティングが 2800 以上であるかどうかを判定せよ。 考えたこと は結局関係ない。 H >= 2800 ならば "o" そうでなければ "x" を出力す…
関数 min() が使えると楽! 問題へのリンク 問題概要 3 種類のパスタから 1 つ、2 種類のジュースから 1 つ選んで注文する。各パスタの価格と、各ジュールの価格が与えられる。 その金額の総和から 50 円を引いた金額を支払う。支払う金額の最小値を求めよ。…
一次予選が始まる前の JOI 予選問題の中でも、比較的易しめの問題 問題へのリンク 問題概要 4 回の移動をした。各移動に要した時間は 秒であった。 この総合時間が何分何秒であるかを求めよ。 考えたこと を求めましょう。その値を total としたとき、答えは…
関数 max() と関数 min() を使いこなそう! 問題へのリンク 問題概要 2 つの整数 が与えられる。 と のうち、最大のものと最小のものを順に出力せよ。 解法 まず、 と のうちの最大のものは max(A + B, A - B) と表せます。なお、 と が同じ値である場合には…
文字列の末尾の文字を取得する方法を確認しておこう! 問題へのリンク 問題概要 長さ の文字列 が与えられる。 の末尾の文字を出力せよ。 解法 C++ では、文字列 S の末尾の文字は S.back() によって取得できます。 別解 文字列 S の長さが であるとき、末尾…
文字式と、if 文の練習! 問題へのリンク 問題概要 2022 年 11 月 日の 週間後が 11 月 30 日以前ならば 1 を出力し、そうでなければ 0 を出力せよ。 解法 11 月 日の 週間後は、11 月換算で 日 となる。これが 30 以下であるかどうかを判定すればよい。 コ…
十の位と一の位から、整数値を求めよう。 問題へのリンク 問題概要 2 つの整数 が与えられる。 十の位が 、一の位が であるような 2 桁の正の整数を求めよ。 制約 考えたこと このような問いは、中学数学でよく学ぶ。 一般に、十の位が 、一の位が であるよ…
標準入出力と、四則演算の演算子の使い方を確認する問題。 問題へのリンク 問題概要 4 個の整数 が与えられる。 1 行目には、 の値を出力し、 2 行目には、"Takahashi" と出力せよ。 解法 標準入力を用いて整数値 の値を受け取ります。 その後、1 行目には (…
算数的な感覚を磨こう! そして、浮動小数点型の値の出力方法を確認しよう。 問題へのリンク 問題概要 水圧は水深のみに依存し、水深 [m] の場所では [MPa] になるものとします。 水深 [m] の場所の水圧は何 [MPa] ですか? 解法 答えは MPa となる。 ただし…
N の値に応じて、N の値を 1 上げよう。 問題へのリンク 問題概要 回目に開催された "AGC" を、たとえば "AGC051" のように出力せよ。 なお、"AGC042" は存在せずに欠番になっているため。42 回目の AGC は "AGC043" であり、43 回目の AGC は "AGC044" であ…
余りを求めるための剰余演算子「%」を確認しておこう! 問題へのリンク 問題概要 正の整数 が与えられるので、 を 21 で割った余りを出力せよ。 解法 X を 21 で割った余りは、演算子「%」を用いて、 X % 21 によって求められます。 コード #include <bits/stdc++.h> using </bits/stdc++.h>…
例によって、一次予選の A 問題は教育的! 問題へのリンク editorials 問題概要 1 個 円の飴を 個と、 円の袋を 1 つ買う。 合計金額はいくらか求めよ。 解法 答えは です。 プログラムでは、整数値 A, B, C を標準入力で受け取って、整数値 A * B + C を標…
if 文を使って落ち着いて整理しよう。 問題へのリンク 問題概要 100 点満点の試験を受ける。得点に応じて以下の評価を受ける。 0 点以上 40 点未満のとき、初級 40 点以上 70 点未満のとき、中級 70 点以上 90 点未満のとき、上級 90 点以上のとき、エキスパ…
if 文と、文字列の練習 問題へのリンク 問題概要 文字列 が与えられる。 が文字列 "Hello,World!" と完全に一致するならば "AC" と出力し、そうでなければ "WA" と出力せよ。 解法 文字列 が ""Hello,World!" と完全に一致するかどうかは if (S == "Hello,Wo…
double 型変数の練習! 問題へのリンク 問題概要 2 つの数 が与えられる。 の値を出力せよ。なお、絶対誤差または相対誤差が 以下であれば正解とみなされる。 解法 普段は整数型を扱うことが多いけど、今回は浮動小数点型を扱おう。そして、小数点以下 位以…
出力がややこしい...... 問題へのリンク 問題概要 税抜価格が 円の品物に対して、消費税 8% を乗せた税込価格と 206 円との大小比較をせよ。 (出力形式はリンク先から) 解法 税込価格は (int)(1.08 * N) で求めることができる。 #include <bits/stdc++.h> using namespace s</bits/stdc++.h>…
算数ではよくある「比」の問題 問題へのリンク 問題概要 100mL あたり kcal のドリンクがある。 mL で何 kcal でしょうか? 解法 求めるカロリーを kcal とする。比で表すと、次のようになる。 内項の積と外項の積は等しいから、 よって、 と求められる。 今…
算数! 問題へのリンク 問題概要 サイコロの 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>…
これは簡単! 剰余演算子「%」を確認しよう! 問題へのリンク 問題概要 2 個の整数 が与えられる。 が の倍数であるかどうかを判定せよ。 解法 が の倍数であるとは、 を で割った余りが 0 であるということです。 を で割った余りは H % M と書けます。 以…
割合を計算する問題! 問題へのリンク 問題概要 円のものが 円で売られた。何%引きか? 解法 答えは である。これを double 型などで計算して、小数点第 2〜3 位まで答えれば OK。 ここでは念の為に、小数点第 10 位まで出力した。 #include <bits/stdc++.h> using namespac</bits/stdc++.h>…
割り算の練習! 問題へのリンク 問題概要 トラックには合計で キログラム以下の荷物を載せることができます。 このトラックに、1 個 キログラムのレンガを最大でいくつ載せることができますか? 解法 中学 1 年生の数学「文字と式」を習うときの気持ちを思い…
面白い問題! 問題へのリンク 問題概要 コンテストを開くための 100, 200, 300, 400 点問題がそれぞれ 問ずつあつ。 100, 200, 300, 400 点問題を 1 問ずつ集めることで 1 回のコンテストを開くことができる。 何回のコンテストを開くことができるか。 解法 …
一瞬、「行列式ってなに!?」となるかもしれない。しかし、式が書いてあるので、それを使えば OK。 問題へのリンク 問題概要 整数 が与えられる。 の値を出力せよ。 解法 問題文には「行列式」とか書いてあって、一瞬ビビるけど、ビビる必要はない。行列式…
if 文を使ってもいいし、関数 max() を使ってもよい。 問題へのリンク 問題概要 整数 が与えられる。 ならば を出力せよ ならば 0 を出力せよ 解法 (1):if 文 if 文を用いて、 であるかどうかを判定して、処理を分けよう。 #include <bits/stdc++.h> using namespace std; </bits/stdc++.h>…
四則演算を使いこなそう! 問題へのリンク 問題概要 ある SNS では、 2 × (フォロワー数) + 100 [人] までフォローすることができる。今のフォロワー数が 、フォロー数が である場合に、あと何人フォローできるかを答えよ。 解法 フォローできる上限人数は […