При каком наибольшем введенном числе d после выполнения программы будет напечатано 89? var n, s, d: integer; begin readln(d); n : = 5; s : = 83; while s < = 1200 do begin s : = s + d; n : = n + 6 end; write(n) end.
174
500
Ответы на вопрос:
Программа должна вывести 89, то есть n после цикла должна стать равной 89. изначально n была равна 5, каждый повтор цикла к n прибавляется 6. определим количество повторов цикла (сколько раз к n должна быть прибавлена 6 для получения числа 89): 5+6*x = 89 6*x = 84 x = 14 то есть цикл должен совершить 14 повторов. каждый раз к s прибавляется d (которую нужно найти), изначально s = 83. нам удобнее прибавлять d к нулю, а не к 83, поэтому вычтем из 1200 83 и приравняем s к нулю. условие в цикле теперь будет выглядеть как s < = 1117 нам нужно наибольшее s, при котором цикл совершает 14 повторов. чем больше значение d, тем меньше повторов совершит цикл. найдем наименьшее целое d, при котором цикл совершает 13 повторов, и возьмем предыдущее целое, это и будет наибольшее d, при котором цикл совершит 14 повторов. цикл завершается после того, как условие перестанет выполняться, то есть при s > 1117. составим неравенство: 13*d > 1117 d > 85,92 то есть наименьшее d, при котором цикл совершит 13 повторов - 86, значит наибольшее d, при котором цикл совершит 14 повторов - 85. ответ 85
Популярно: Информатика
-
funisinfinity2622.12.2021 10:18
-
OшUb0чkA30.05.2022 06:25
-
melesineduard11.03.2021 06:47
-
sweetk03.06.2021 09:54
-
bondarevera20.09.2020 00:29
-
dashashubina5503.05.2023 20:23
-
pigaryov201410.04.2021 14:17
-
Qwerty55577799920.10.2021 20:50
-
1234fghh16.11.2022 22:07
-
danisdigger18.05.2023 19:57