Определите, при каком наименьшем введённом значении переменной s программа выведет число 64. Для Вашего удобства программа представлена на четырёх языках программирования.
| Бейсик | Python |
|---|---|
DIM S, N AS INTEGER INPUT X N = 1 WHILE S < 51 S = S + 5 N = N * 2 WEND PRINT N
| s = int(input()) n = 1 while s < 51: s = s + 5 n = n * 2 print(n)
|
| Паскаль | Алгоритмический язык |
var s, n: integer; begin readln(s); n := 1; while s < 51 do begin s := s + 5; n := n * 2 end; writeln(n) end.
| алг нач цел n, s ввод s n := 1 нц пока s < 51 s := s + 5 n := n * 2 кц вывод n кон |
| Си++ | |
#include <iostream> using namespace std; int main() { int s; cin >> s; int n = 1; while (s < 51) { s = s + 5; n = n * 2; } cout << n << endl; return 0; }
| |
Заметим, что число 64 это 2 в шестой степени. Значит, цикл должен выполниться 6 раз. Тогда ответ — 51 − 5 · 6 = 21.
Ответ: 21.
Приведём другое решение на языке Python.
for i in range(10000):
s = i
n = 1
while s < 51:
s = s + 5
n = n * 2
if n == 64:
print(i)
break

