Определение числа итераций цикла
Определите, при каком наибольшем введённом значении переменной $s$ программа выведет число $128$. Для удобства программа представлена на четырёх языках программирования.
Паскаль:
```pascal
var s, n: integer;
begin
readln(s);
n := 1;
while s >= 5 do
begin
s := s - 5;
n := n * 2
end;
writeln(n)
end.
```
Python:
```python
s = int(input())
n = 1
while s >= 5:
s = s - 5
n = n * 2
print(n)
```
Алгоритмический язык:
```text
алг
нач
цел n, s
ввод s
n := 1
нц пока s >= 5
s := s - 5
n := n * 2
кц
вывод n
кон
```
C++:
```cpp
#include <iostream>
using namespace std;
int main()
{
int s, n;
cin >> s;
n = 1;
while (s >= 5) {
s = s - 5;
n = n * 2;
}
cout << n << endl;
return 0;
}
```
Условие как в банке ФИПИ — открыть и сверить
| Определите, при каком наибольшем введённом значении переменной s программа выведет число 128. Для Вашего удобства программа представлена на четырёх языках программирования.
| ||||||||||||
| | ||||||||||||
Формат: число или слово без единиц измерения; дробную часть отделяйте запятой.
1Мягкая — с чего смотретьуровень 1 из 3
Сколько раз должен выполниться цикл, чтобы начальное значение $n = 1$ превратилось в $128$?
2Наводящая — какие числа считатьуровень 2 из 3
После каждой итерации значение $n$ удваивается: после $k$ итераций $n = 2^k$.
3Прямая — фактически решениеуровень 3 из 3
$128 = 2^7$, значит, цикл должен выполниться 7 раз. Для этого перед седьмой итерацией должно быть $s \ge 5$, а после неё — $s < 5$. Поэтому $35 \le s \le 39$, и наибольшее значение равно $39$.