Определите, при каком наибольшем введённом значении переменной s данная программа выведет число 121. Для Вашего удобства программа представлена на четырёх языках программирования.
| Python | Си++ | |
|---|---|---|
s = int(input()) s = s // 10 n = 1 while s < 221: if n % 2 == 0: s = s + 13 n = n + 5 print(n)
| #include <iostream> using namespace std; int main() { int s, n; cin >> s; s = s / 10; n = 1; while (s < 221) { if (n % 2 == 0) s = s + 13; n = n + 5; } cout << n << endl; return 0; }
| |
| Паскаль | Алгоритмический язык | |
var s, n: integer; begin readln(s); s := s div 10; n := 1; while s < 221 do begin if n mod 2 = 0 then s := s + 13; n := n + 5 end; writeln(n) end.
| алг нач цел s, n ввод s s := div(s,10) n := 1 нц пока s < 221 если mod(n,2) = 0 то s := s + 13 все n := n + 5 кц вывод n, нс кон | |
Решим задачу с помощью программы методом перебора. Ниже приведена программа на языке PascalABC:
var s, n, i, ans: integer;
begin
for i := 0 to 10000 do begin
s := i div 10;
n := 1;
while s < 221 do begin
if n mod 2 = 0 then s := s + 13;
n := n + 5
end;
if n = 121 then ans := i;
end;
writeln(ans);
end.
После выполнения программы наибольшее значение s, выведенное на экран, будет равно 779.
Ответ: 779.
Приведём другое решение на языке Python.
for i in range(1000, 1, -1):
s = i
s = s // 10
n = 1
while s < 221:
if n % 2 == 0:
s = s + 13
n = n + 5
if n == 121:
print(i)
break

