MP3 НОВИНКИ!
Именные будильники для CCBot/2.0
...а в военное время достигает четырёх
Решали задачу, суть которой сводилась к тому, чтобы дискретными отрезками достичь поверхности Земли, не выходя за пределы заранее заданного конуса. В качестве подзадач приходилось пересекать окружности, сравнивать углы между векторами и заниматься прочими трехмерно-геометрическими прелестями.

Всё готово, начинаем проверку. На одном тесте работает, на втором работает, на третьем — бац! — ошибка. В результате кропотливого дебаггинга обнаруживается проблемный кусок кода:
long double a1, a2;
a1 = PI / 2 + alp;
a2 = PI / 2 - alp;

После выполнения оказывается, что и a1, и a2 меньше, чем 1,57. Долго думали. Ещё думали. В итоге посмотрели в начало кода:
const int PI = 3.1415926535897932384626433832795;

Вот уж действительно: «Для простоты вычислений примем Пи равным трём»...
< предыдущая история | следующая история >
IT happens
На главную
0,0062 сек.
HTML | XHTML
© FaceWAP.Net 2016
WapLog