2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




На страницу Пред.  1, 2
 
 Re: Задача про апельсин
Сообщение29.10.2009, 11:42 
2The_Great_Satan
Цитата:
Для этого они решили сделать N разрезов проходящих через одну из центральных осей апельсина

Что такое "центральная ось", и что значит "проходящих"? Под разрезом понимается плоскость? Какая-то нечеткая постановка...

Давайте уточним. Пусть первый "разрез" суть плоскость, проходящая через центр "апельсина" (шара радиуса $R$), а "ось" представляет собой диаметр шара, полностью принадлежащий этой плоскости. Очевидно, пересечение такой плоскости с шаром есть круг радиуса $R$ (это понадобится при вычислении площади "боковых" плоских поверхностей "долек"). Все последующие "разрезы" получаются из первой плоскости её поворотом относительно "оси".

Всего выполняется $N>0$ разрезов, делящих шар объема $B(R)=4\pi R^3/3$ на максимум $F=2N$ шаровых "секторов" объемом $V=B(R)/F$ каждый. Площадь поверхности одной части (доли) тогда равна $S=F^{-1}(dB(R)/dR)+\pi R^2$, i.e сумме площади круга радиуса $R$ и одной из $F$ частей площади поверхности апельсинового шара.

Итак, привожу пример реализации (случай $N=0$ разрешен):
Код:
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.

Получилось решение, почти полностью совпадающее с вашим. Либо мы одну и туже ошибку допустили, либо условие нужно трактовать по-другому, либо в тестах присутствует ошибка.

 
 
 
 Re: Задача про апельсин
Сообщение29.10.2009, 14:38 
Черноящичное сравнение двух реализаций на всевозможных входных данных показало отличие результатов в некоторых случаях. По модулю максимальное отклонение не превосходит пяти десятитысячных, но понятно, что этого более чем достаточно для провала тестов.

 
 
 [ Сообщений: 17 ]  На страницу Пред.  1, 2


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group