0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

AtCoderログ:0036 - ABC 211 A

Last updated at Posted at 2021-07-26

問題

問題文

収縮期血圧 $A$ と拡張期血圧 $B$ が与えられます。
平均血圧 $C$ を求めてください。
ただし、平均血圧は以下のように定義されるとします。
・$C=\frac{A-B}{3}+B$

制約

・$50 \le B \le A le 300$
・入力に含まれる値は全て整数である

回答

回答1 (AC)

問題文通りに計算すれば良いでしょう。ただし計算結果は小数になることがあるので、コーディングに注意が必要です。今回の場合、単に (a-b)/3 とかくと計算結果は整数になってしまうので、(a-b)/3.0 または (float)(a-b)/3 とかく必要があります。コードは以下のようになりました。

abc211a-1.cpp
#include <bits/stdc++.h>
using namespace std;
 
int main() {
  int a, b;
  cin >> a >> b;
 
  float c = (float)((a-b)/3+b);
 
  cout << c << endl;
}

おまけ

問題文に記述されていた平均血圧の計算法を調べたところ、実際の計算式を利用していたことがわかりました。ここで気になるのは、平均血圧というなのに、(a+b)/2 という計算式ではないところです。これについても調べてみたところ、最高血圧時の血量は少なく最低血圧時の血量は多いので、それを加味して3で割っているとのことでした。

調べたこと

AtCoder の解説公式解説

回答1と同じ方針でした。

リンク

前後の記事

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?