program p174147;
{ Для упрочнения древней кремлевской стены необходимо построить кирпичную
подпорку треугольного вида. Требования к форме подпорки таковы:
1. всего используется n кирпичей размером 2 по ширине и 1 по высоте;
2. ряды кирпичей примыкают вплотную к стене;
3. каждый ряд снизу содержит хотя бы на 1 кирпич больше, чем ряд сверху.
Какова наибольшая возможная высота подпорки?
Какова при этом наименьшая ширина нижнего ряда?
}
var
n: integer;
min_w: integer;
max_h: integer;
x: integer; { целая часть положительного корня квадратного уравнения }
d: real; { дискриминант }
a,b,c: real; { коэффициенты квадратного уравнения }
ostatok: integer;
begin
write('n=');
readln(n);
a:= 1;
b:= 1;
c:= -2*n;
d:=b*b-4*a*c;
x:=trunc((-b+sqrt(d))/2); { построили треугольник }
ostatok := n-(1+x)*x div 2; { лишние кирпичи }
min_w := x + ostatok div x; { если осталось больше, чем высота треугольника }
if ostatok mod x > 0 then { если осталось меньше, чем высота треугольника }
min_w := min_w+1;
max_h := x*2; { кирпич "стоя " }
writeln('x=',x, ' ostatok=', ostatok);
writeln('min_w=', min_w, ' max_h=', max_h);
readln;
end.
Если Вы уже зарегистрированы на Портале - войдите в систему, если Вы еще не регистрировались - пройдите простую процедуру регистрации.