PascalABC.NET
#1
function Y(x:integer) := 2*((x+2)**2)+5.5*(x+2) - 3;
begin
var Xes := Range(3, 25);
Xes.Tabulate(p -> Y(p)).Println;
end.
#2
const PASS = '123ab';
begin
var rpass := Readstring('Pass: ');
while rpass <> PASS do begin
rpass := Readstring('Wrong pass. Try again: ');
end;
print('Correct password. Welcome');
end.
#3
begin
//Сначала читаем цифру, которую надо удалить, а уже потом число.
var X := ReadChar();
var number := ReadInteger().ToString.ToCharArray.ToList;
while number.Contains(X) do number.Remove(X);
number.JoinIntoString.Println;
end.
#4
begin
var X := ReadInteger();
Print((x div 100)+(x mod 100));
end.
Объяснение:
После выполнения программы выводится значение переменной n. Пока цикл выполняется, значение n увеличивается на 2, изначально n=0, то есть мы можем определить количество повторений цикла и умножить его на 2.
Цикл выполняется, пока s<111, изначально s=0, каждый повтор цикла s увеличивается на 8. То есть мы должны найти первое значение s, при котором условие перестанет выполняться.
Каждый повтор цикла значение s увеличивается на 8, значит s, в конечном итоге, будет кратно 8-ми. Наименьшее s, при котором условие цикла перестанет выполняться — 112.
Определим количество повторов цикла:
112:8 = 14
Каждый повтор цикла n увеличивается на 2, то есть значение n будет равно:
14*2 = 28
ответ: 28