Дело в том, что у Вас не хватает уточнения, что значит "наудачу".
Если это обычная учебная задача на теорию вероятностей, то в таких задачах обычно подразумевается, что множество точек на окружности бесконечно, отсюда множество различных значений углов треугольника также бесконечно, и значит, вероятность, что у треугольника один из углов В ТОЧНОСТИ равен прямому, разумеется, нулевая.
То, что эту задачу нужно "написать на C++", ставит всё с ног на голову. Формулировка просто теряет очевидный смысл (обычно для таких задач не требуется ничего программировать), а поэтому нуждается в уточнении.
Можно попытаться сказать, что мы "бросаем наудачу" на точки растра, лежащие на окружности, да только ведь вот какая штука. Окружность, нарисованная на дисплее, с точки зрения строгой математики, - на самом деле не окружность, а множество, состоящее из квадратных точек растра, и подавляющее большинство координат этих точек на самом деле лежат не точно на этой окружности, а лишь близко к ней. Поэтому смысла "бросания наудачу" точки на растровую сетку, чтобы она ещё к тому же "точно попала на окружность", я не вижу.
Если бы было сформулировано не "прямоугольный", а "остроугольный", или "тупоугольный", тогда у задачи было бы нетривиальное решение, выражающее искомую вероятность в виде некоторого определённого интеграла. Тогда можно было бы понять её так: подсчитать значение этого интеграла на компьютере при помощи программы, написанной на C++ (видимо, каким-то численным методом).
В любом случае, задача сформулирована совершенно неудовлетворительно. Даже с привлечением дипломированных телепатов очень сложно сказать, что же всё-таки в ней требуется.
|