Новая Школа - онлайн-школа подготовки к ЕГЭ
Задача Задача №3197096
А
Аноним
12 мая 2025 13:11 · публичный вопрос
А
Аноним

Определи, чему должна быть равна переменная k, чтобы на экран было выведено число 149 : s := 1; n := 0; for i := 1 to k k do begin s := s * 2; n := n + 3; end; write(s + n);

Ответ нейросети
12 мая 2025 13:11

Рассмотрим задачу пошагово. Нам нужно определить значение переменной \(k\), чтобы при выполнении программы на экран выводилось число 149.

Исходный код:

s := 1;
n := 0;
for i := 1 to k do begin
  s := s * 2;
  n := n + 3;
end;
write(s + n);

Объяснение шаг за шагом:

  1. Изначальные значения:

    • \(s := 1\)
    • \(n := 0\)
  2. Цикл:

for i := 1 to k do

выполняется \(k\) раз. Каждый раз:

  • \(s := s * 2\)
  • \(n := n + 3\)
  1. После выполнения цикла:
  • \(s\) будет равно \(2^k\), потому что начиная с 1, при каждом проходе умножение на 2 происходит \(k\) раз: \[ s = 2^k \]
  • \(n\) будет равно \(3 \times k\), поскольку каждый раз добавляется 3, для \(k\) повторений: \[ n = 3k \]
  1. Итоговая команда:
write(s + n);

выведет сумму: \[ s + n = 2^k + 3k \]

Задача: найти \(k\), при котором: \[ 2^k + 3k = 149 \]

Теперь подбираем \(k\), начиная с небольших значений:

  • Для \(k=1:\) \[ 2^1 + 3 \times 1 = 2 + 3 = 5 \] Нет, меньше 149.

  • Для \(k=2:\) \[ 4 + 6 = 10 \] Нет.

  • Для \(k=3:\) \[ 8 + 9 = 17 \] Нет.

  • Для \(k=4:\) \[ 16 + 12 = 28 \] Нет.

  • Для \(k=5:\) \[ 32 + 15 = 47 \] Нет.

  • Для \(k=6:\) \[ 64 + 18 = 82 \] Нет.

  • Для \(k=7:\) \[ 128 + 21 = 149 \] Это подходит!

Ответ: \(k=7\).

Итак, переменная \(k\) должна быть равна 7.