// PascalABC.NET 3.2, сборка 1407 от 18.03.2017 // Внимание! Если программа не работает, обновите версию!
function Geron(a,b,c:real):real; // возвращает площадь треугольника со сторонами a,b,c begin var p:=(a+b+c)/2; // полупериметр Result:=sqrt(p*(p-a)*(p-b)*(p-c)) end;
function Sp(ab,bc,ca,ad,bd,cd:real):real; // возвращает площадь полной поверхности пирамиды begin Result:=Geron(ab,bc,ca)+Geron(ab,ad,bd)+Geron(bc,bd,cd)+ Geron(ca,cd,ad) end;
begin var ab1,bc1,ca1,ad1,bd1,cd1:real; Vvod(ab1,bc1,ca1,ad1,bd1,cd1); var Sp1:=Sp(ab1,bc1,ca1,ad1,bd1,cd1); var ab2,bc2,ca2,ad2,bd2,cd2:real; Vvod(ab2,bc2,ca2,ad2,bd2,cd2); var Sp2:=Sp(ab2,bc2,ca2,ad2,bd2,cd2); var d:=Sp1-Sp2; if d>0 then Writeln('Площадь Sполн 1й пирамиды больше на ',d) else if d<0 then Writeln('Площадь Sполн 2й пирамиды больше на ',-d) else Writeln('Площади Sполн пирамид равны'); end.
Давай попробуем рассуждать логически. Если бы сад состоял из двух деревьев, то было бы два варианта садов: 100+99 и 100+101. Если бы досадили третье дерево, то каждый из предыдущих садов удвоил бы число вариантов: первый 100+99+98 и 100+99+100, и так же второй 100+101+100 и 100+101+102. Подмечаем закономерность: каждое добавляемое дерево удваивает количество вариантов. А сад из одного дерева имеет лишь один вариант.