2
The_Great_SatanЦитата:
Для этого они решили сделать N разрезов проходящих через одну из центральных осей апельсина
Что такое "центральная ось", и что значит "проходящих"? Под разрезом понимается плоскость? Какая-то нечеткая постановка...
Давайте уточним. Пусть первый "разрез" суть плоскость, проходящая через центр "апельсина" (шара радиуса
), а "ось" представляет собой диаметр шара, полностью принадлежащий этой плоскости. Очевидно, пересечение такой плоскости с шаром есть круг радиуса
(это понадобится при вычислении площади "боковых" плоских поверхностей "долек"). Все последующие "разрезы" получаются из первой плоскости её поворотом относительно "оси".
Всего выполняется
разрезов, делящих шар объема
на максимум
шаровых "секторов" объемом
каждый. Площадь поверхности одной части (доли) тогда равна
, i.e сумме площади круга радиуса
и одной из
частей площади поверхности апельсинового шара.
Итак, привожу пример реализации (случай
разрешен):
Код:
var
R,B,dB,V,S,D: real;
N,F: longint;
begin
Read(N, R);
{ Calculate the area of a disk of radius R }
D:=Pi*sqr(R);
{ Find the area of the ball surface }
dB:=4*D;
{ Find the volume of the ball }
{ as integral of surface area }
B:=dB*R/3;
{ Estimate maximal count of sectors }
if N=0 then F:=1 else F:=2*N;
{ Calculate volume of each part }
V:=B/F;
{ And finally, find the area of each sector }
if F=1 then S:=dB else S:=dB/F+D;
Write(F, ' ', V:0:7, ' ', S:0:7);
end.
Получилось решение, почти полностью совпадающее с вашим. Либо мы одну и туже ошибку допустили, либо условие нужно трактовать по-другому, либо в тестах присутствует ошибка.