Вася написал такую программу (для удобства код приводится ** трех языках...

0 голосов
71 просмотров

Вася написал такую программу (для удобства код приводится на трех языках программирования): Python: x = ? while x < 98 or x % 9 == 0: print('*') x += 3 Pascal: x := ?; while (x < 98) or (x mod 9 = 0) do begin writeln('*'); x := x + 3; end; C++: x = ?; while (x < 98 or x % 9 == 0){ cout « '*'; x += 3; } В результате ее работы было напечатано 30 звездочек. Какое наибольшее число могло быть написано вместо знака вопроса?


Информатика (16 баллов) | 71 просмотров
Дан 1 ответ
0 голосов

Давайте точно определим, сколько раз выполнится условие в цикле. Нам нужно ровно 30 звёздочек. Тогда x будет равен как минимум 3 · 30 = 90. А теперь пройдём ещё несколько циклов до тех пор, пока условия не будут выполняться. 90 + 3 = 93 - выполняется, 96 - выполняется, 99 - выполняется (кратно 9), 102 - не выполняется. Вот то самое число - максимальное. Отнимем от него минимальное количество и получим значение начального x:

102 - 90 = 12

Ответ

12

(542 баллов)