Задача 3: Ремонт забора
Забор состоит из N одинаковых вертикальных досок. Некоторые из досок сгнили и нуждаются в замене, для каждой доски известно, нужно ли её заменить. Для ремонта забора можно использовать продающиеся в магазине щиты, которые бывают L разных видов: шириной в 1 доску, в 2 доски, ..., в L досок. Щит нельзя разрезать на части, то есть одним щитом можно заменить не более любых L подряд идущих досок. При этом можно менять не только сгнившие доски, но и хорошие.
// Внимание! Если программа не работает, обновите версию!
begin
Writeln('k=',
ReadSeqInteger('a,b,c,d=',4).Where(x->(x<0) and (-x mod 10=7)).Count);
Writeln('S=',ReadSeqInteger('a,b,c,d=',4).
Where(x->(x>-50) and (x <=70) and (x mod 4=0)).Sum);
Writeln('S=',ReadSeqInteger('a,b,c,d=',4).
Where(x->(abs(x)<=100) and (x mod 4=0)).Sum)
end.
Каждый оператор Writeln решает одну из задач.
Если надо все отдельно - просто удаляйте два остальных оператора.
var p,s: real;
n:integer;
begin
p:=0;//величина прибавки
s:=1000;//первоначальная сумма
n:=0;//число месяцев
while p<=30 do //пока прибавка меньше 30 руб.
begin
p:=s*0.02; //величина месячной прибавки
сумма плюс прибавка за текущий месяц
n:=n+1;//число месяцев
end;
writeln('Ежемесячное увеличение вклада превысит 30 руб через ',n, ' месяцев');
n:=0; //обнуление счетчика месяцев
s:=1000;//восстановление значения первоначального взноса
while s<=1200 do
begin
p:=s*0.02;//Величина месячной прибавки
сумма плюс прибавка за текущий месяц
n:=n+1;//число месяцев
end;
writeln('Величина вклада превысит 1200 руб через ',n,' месяцев');
end.