if 文の練習問題
問題概要
ビ太郎は JOI 鉄道に乗って旅行をする。JOI 鉄道の運賃ははじめの km までは 1 km あたり
円で、それ以降の運賃は 1 km あたり
円で計算される。
km 乗車するとき、運賃はいくらになるか出力せよ。
解法
距離が 以下かどうかで状況が変わるので、場合分けしよう!!
のとき
距離が km 以下なので、この場合は 1 km あたり
円と計算してよい。よって、
円
である。
のとき
距離 km までの分は、 1 km あたり
円なので、
円である。
それ以降の km の分は、1 km あたり
円なので、
円である。
これらを合計して、運賃は
円
である。
まとめ
以上を整理して、次のように考えられる。
のとき:
円
のとき:
円
プログラムでは、if 文を用いて処理を分岐すればよい。
コード
#include <bits/stdc++.h> using namespace std; int main() { int P, Q, A, B; cin >> P >> Q >> A >> B; if (Q <= P) cout << A * Q << endl; else cout << A * P + B * (Q - P) << endl; }