確率を考えるための基礎となる問題!
問題概要
コンテストに 1000 人が参加した。
- 上位
位は、確実に T シャツがもらえる
- 上位
位から
位までは、その中からランダムに
人が選ばれて、T シャツがもらえる
- それ以外は、T シャツをもらえない
いろはさんはこのコンテストの参加者で 位であった。いろはさんが T シャツをもらえる確率を求めよ。
制約
考えたこと
まず、 であれば、いろはさんは確実に T シャツがもらえるので、求める確率は 1.0 である。
次に、 であれば、いろはさんは T シャツをもらえないので、求める確率は 0.0 である。
これらの間の である場合を考える。この場合は、いろはさんを含めた
人からランダムに
人が選ばれる。よって、いろはさんが当選する確率は
と求められる。
コード
#include <bits/stdc++.h> using namespace std; int main() { int A, B, C, X; cin >> A >> B >> C >> X; double res; if (X <= A) res = 1.0; else if (X > B) res = 0.0; else res = (double)(C) / (B - A); cout << fixed << setprecision(6) << res << endl; }