Привет!
Периметр:
program x;
var
y,x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12,x13,x14,x15,x16:integer;
begin
writeln('Введите длины всех сторон шестнадцатиугольника, см: ');
readln(x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12,x13,x14,x15,x16);
y:=x1+x2+x3+x4+x5+x6+x7+x8+x9+x10+x11+x12+x13+x14+x15+x16;
writeln('Периметр данного шестнадцатиугольника,см= ',y);
readln;
end.
Площадь:
var a : integer;
S : real;
function SquareTr(a : integer) : real;
begin
SquareTr := (sqrt(3)*a)/2
end;
BEGIN
writeln('Введите сторону шестнадцатиугольника: ');
ReadLn(a);
S := 16 * SquareTr(a);
Writeln('Площадь шестнадцатиугольника со стороной а, равна ', S:16:16);
end.
Если бы сад состоял из двух деревьев, то было бы два варианта садов: 100+99 и 100+101. Если бы досадили третье дерево, то каждый из предыдущих садов удвоил бы число вариантов: первый 100+99+98 и 100+99+100, и так же второй 100+101+100 и 100+101+102. Подмечаем закономерность: каждое добавляемое дерево удваивает количество вариантов. А сад из одного дерева имеет лишь один вариант.
Поэтому ответ: 1 * 2 * 2 * 2 * ... (десять двоек умножаются) = 2^10 = 1024 варианта садов.
Думаю что так, если не напутал. Но ты лучше проверь за мной.