Задание:
При каком наименьшем введенном числе d после выполнения программы будет напечатано 121?
var n, s, d: integer;
begin
readln(d);
n := 1;
s := 46;
while s <= 2700 do begin
s := s + d;
n := n + 4
end;
write(n)
end.
Решение:
* Для начала узнаем сколько всего циклов. Обратим внимание на то, что на экран выводится значение переменной n, а оно изначально равно единице и увеличивается с каждый циклом на четыре:
121 - 1 = 120
120/4 = 30 циклов всего в программе.
* Запишем неравенства. Решив их, мы узнаем промежуток, к которому может принадлежать переменная d. Обратим внимание на то, что в программе с каждым циклом переменная S увеличивается на число d, то есть к предыдущему значению S прибавляется число d. Изначально S = 46:
46 + 30d > 2700
46 + 29d <= 2700
Из первого уравнения:
30d > 2700 - 46
30d > 2654
d > 88.4, ближайшее число, которое удовлетворяет неравенству - 89.
Из второго уравнения:
29d <= 2654
d <= 91.5, ближайшее число, удовлетворяющее неравенству - 91
* Получаем, что переменная d принадлежит промежутку [89;91], нас просят указать наименьшее число, оно равно 89.
Ответ: 89