Предположим, что иллюминатор - это круглое отверстие диаметром d, а сундук для простоты опишем параллелепипедом с ребрами a, b, c. Очевидно, что сундук пройдет в иллюминатор, если прямогольник, образованный двумя его меньшими ребрами, будет вписан в окружность иллюминатора, т.е. диагональ этого прямоугольника будет меньше диаметра иллюминатора. Задача из трехмерной сводится к двухмерной, т.е. решается в плоскости, для чего нужно отбросить из рассмотрения ребро максимальной длины, т.е. из множества ребер {a,b,c} мы исключаем ребро, длина которого равна max(a,b,c). Пусть это будет ребро с, тогда рассматриваем ребра a и b. Диагональ прямоугольника можно найти по теореме Пифагора и она равна √(a²+b²). Но можно (и рациональнее), не извлекать квадратный корень, а сравнить квадрат диагонали с квадратом диаметра, т.е. условием извлечения сундука будет a²+b² < d² Наша математическая может может быть описана логической функцией F, которая принимает значение "истинно", если сундук может быть извлечен, и ложно в противном случае.
Const n=15; var s:array[1..n] of real; st,p:real; i,k:integer; begin Writeln('Введите ',n,' сумм остатков'); st:=0; for i:=1 to n do begin Read(s[i]); st:=st+s[i] end; Writeln('Удельные веса остатков по магазинам'); k:=0; for i:=1 to 15 do begin p:=s[i]/st*100; Writeln(i,' - ',p:0:1); if p>12 then Inc(k) end; Write('Количество магазинов с уд. весом остатков >12%, равно '); Writeln(k) end.