Решаю, но ответ не сходится , приведите ваше решение пожалуйста. При каком наибольшем...

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

Решаю, но ответ не сходится , приведите ваше решение пожалуйста.
При каком наибольшем введенном числе d после выполнения программы будет напечатано 55?
Paskal:
var n, s, d: integer;
begin
readln(d);
n := 0;
s := 0;
while s <= 365 do begin<br> s := s + d;
n := n + 5
end;
write(n)
end.


Информатика (1.0k баллов) | 28 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

Программа увеличивает n на 5. Т.к. на выходе нужно получить n = 55, то цикл должен прокрутиться 11 раз.
Т.е. после 10 раз число s <= 365 (программа войдёт в цикл одиннадцатый раз), но после 11 цикла s > 365. При этом s = 10d и 11d соответственно:
10d <= 365<br>11d > 365

d < 36.5
d > 365 / 11 ~ 33.18

Под заданный вопрос подходит значение d = 36.

(9.5k баллов)
0

Спасибо