Прошу, помогите, срочно!
Сколько существует значений s, подаваемых на вход программе, при которых в результате работы программы на экран будет выведено значение 125?
var n, s: integer;
begin
n :=1;
readln(s);
while s > n do begin
s :=s - 15;
n := n * 5
end;
write(n)
end.
Ответы
Ответ:
Существует 115 значений s, при которых будет выведено значение 125.
Объяснение:
Дополним код некоторыми действиями, чтобы найти кол-во значений автоматически:
var n, s: integer;
count, i: integer;
begin
count := 0;
for i := 0 to 10000 do begin
s := i;
n :=1;
while s > n do begin
s :=s - 15;
n := n * 5
end;
if n = 125 then count += 1;
end;
writeln(count);
end.
Код выведет число 115.
Как оно работает? В начале регистрируются переменные n, s, count, i типа integer. Далее - начинается основной код. Переменной count присваивается 0 - это и будет количество этих чисел. С помощью переменной for имитируем ввод чисел: переменной i каждый раз будет присваиваться число от 0 до 10000 (этого будет предостаточно). Переменной s присваивается число i. Далее выполняется код из условия, а в конце проверка - равняется ли выведенное число 125. Если так, то значение переменной count увеличивается на единицу. В конце - вывод count.