Для начала стоит проверить, есть ли вообще значения x большие единицы.
D = a
2 + 8×b, D ∈ [0, 9]
x
1 = (−a + √D) / 2, x
1 ∈ [-1, √2]
x
2 = (−a − √D) / 2, x
1 ∈ [-2, 0]
Нужные значения есть. И достигаются они только у одного из корней. Значит есть смысл писать программу и определять вероятность методом Монте-Карло.
const monteCarlo = (tryCount) => {
let positive = 0;
for (let i = 0; i < tryCount; i += 1) {
const a = Math.random();
const b = Math.random();
const D = a * a + 8 * b;
const x = (-a + Math.sqrt(D)) / 2;
if (x > 1) {
positive += 1;
}
}
return(positive / tryCount);
}
monteCarlo(1000000); // 0.249374
monteCarlo(10000000); // 0.2500279
А теперь решим аналитически. Нам надо найти соотношение площадей квадрата (0,0)-(1,1) и той его части, на которой x > 1.
Для этого решим уравнение
(−a + √(a
2 + 8×b)) / 2 > 1
−a + √(a
2 + 8×b) > 2
√(a
2 + 8×b) > a + 2
a
2 + 8×b > a
2 + 4×a + 4
8×b > 4×a + 4
b > (a + 1) / 2
Если нарисовать график прямой b = (a + 1) / 2, то получим, что она отделяет 1/4 площади квадрата. Таким образом, учитывая равномерное распределение a и b, искомая вероятность 0.25.