for文:総和
for 文の練習! 問題へのリンク 問題概要 個の整数 のうち、最大値と最小値を除外した 個の整数の総和を求めよ。 制約 個の整数はすべて互いに相異なる 解法 まず 個の整数を「配列」として受け取りましょう (C++ では vector<int> 型など)。 その後、配列に対し</int>…
for 文の練習問題! 問題へのリンク 問題概要 HP が であるモンスターを倒したい。 種類の必殺技を順に使っていく。 種類目の必殺技はモンスターの HP を だけ減らすことができる。 モンスターの HP を 0 以下にすることができるかどうかを判定せよ。 考えた…
配列の中に配列型式の添字を入れるような処理(A[B[i]] のような)を書けるようになろう! 問題へのリンク 問題概要 あるコンテストでは 問が出題され、配点はそれぞれ 点であった。 参加者のすぬけ君は、このうちの 問 問を解いた。 すぬけ君の得点はいくら…
配列の要素を for 文で順に調べていけば良い系! 問題へのリンク 問題概要 本の木にそれぞれ 個の実がなっている。それぞれの木から実を収穫する。ただし、 実っている木の実が 10 個以下の木からは木の実を収穫しない 10 個以上の実があるならば、10 個を残…
for 文を使わなくても解けるけど、使えると楽! 問題へのリンク 問題概要 10 冊の本を買った。その総額と、そのうちの 9 冊の価格が分かっている。残り 1 冊の本の価格を求めよ。 考えたこと まず総額の入力データを読み込みましょう。 そのあと、9 個の整数…
これは面白い! 問題へのリンク 問題概要 文字 v, w のみからなる文字列 が与えられる。 この文字列中の下に尖っている箇所の個数を求めよ(v は 1 個、w は 2 個)。 考えたこと for 文を用いて、文字列 の文字を順に見ていき、それが v ならば 1 を足し、w…
for 文の練習。また、2 つの数列を受け取る練習でもある。 問題へのリンク 問題概要 チーム高橋と、チーム青木が、 回対戦した。 回目の対戦では、チーム高橋は 点、チーム青木は 点獲得した。 回の対戦の得点の総和が大きいのはどちらか? 考えたこと の総…
for 文の練習! 問題へのリンク 問題概要 個の整数 が与えられる。 の値を求めよ。 解法 まず、答えを表す変数 res を用意しましょう (初期値は 0 とします)。 for 文を用いて、順に A[i] を res に足し込んであげます。 コード #include <bits/stdc++.h> using namespace s</bits/stdc++.h>…
for 文の練習! 問題へのリンク 問題概要 長さ の数列 (すべての要素は互いに相異なる) について、最大値を考えたとき、その左側の総和と、右側の総和をそれぞれ求めよ。 制約 解法 この問題では、数列 の最大値だけではな、 が最大となるような も求める必…
数学の部分を乗り越えることが難しいかもしれない。 問題へのリンク 問題概要 人 が、一対一の勝敗のつくゲームを何度か行った。 人の最初の持ち点は 0 点である。 各ゲームでは勝者の持ち点が 1 増え、敗者の持ち点が 1 減る。(持ち点が負になることもある…
long long 型だとオーバーフローしてしまうので注意! unsigned long long 型なら大丈夫! 問題へのリンク 問題概要 0 と 1 からなる長さ 64 の数列 が与えられる。 の値を求めよ。 考えたこと 実は long long 型は、 以上 以下の整数しか表せない。今回扱う…
for 文の練習問題! 問題へのリンク 問題概要 個の商品があって、それぞれ価格は 円である。これらをすべて購入する。 ただし、最高価格のものは半額となる。このとき、支払い金額の総和を求めよ。 制約 は偶数 解法 について、 総和を 最大値を としよう。…
for 文の練習! 問題へのリンク editorial 問題概要 文字 j は 2 画、o は 1 画、i は 2 画である。 与えられた文字列 が合計で何画であるかを求めよ。 解法 for 文を用いよう。for 文のループカウンタ変数を i として、文字 S[i] について、次のように処理…
for 文の練習。色んな書き方がありそう。 問題へのリンク 問題概要 高橋君は 週間歩いた距離を記録した。 日目には、それぞれ 歩歩いた。 各週について、高橋君が 1 週間で歩いた歩数の合計を出力してください。 解法 前提として、配列を 0 始まりで考えるこ…
これは A 問題らしい A 問題 問題へのリンク 問題概要 個の整数 のうち、 以下のものの総和を求めよ。 コード for 文を回していき、 以下であるかを判定して、 以下であるものを足していけば OK。 #include <bits/stdc++.h> using namespace std; int main() { int N, X; ci</bits/stdc++.h>…
等差数列の和の公式を使ってもいいし、素直に for 文を足してもいい。 問題へのリンク 問題概要 正の整数 が与えられる。 の値を答えよ。 解法 1 素直に for 文で足していく方法。 #include <bits/stdc++.h> using namespace std; int main() { int N; cin >> N; int res = </bits/stdc++.h>…
トップタイがある場合に注意! 問題へのリンク 問題概要 (0 始まりに表現改) 人の人 がいる。人 のプログラミング力は である。 人 は必要に応じてプログラミング力を鍛えることで、 人の中で単独トップになろうとしている。 そのためにプログラミング力をい…