2001-gre-vs-practice.pdf/Q10

Материал из DISCOPAL
Перейти к: навигация, поиск

Вопрос: Q10-e5724f

p := 1; k := 0;
while k < n do
begin
    p := 2 * p;
    k := k + 1
end;

Для фрагмента программы выше, включающего целые числа p, k и n, какой из следующих вариантов является инвариантом цикла, то есть истинным в начале каждого выполнения цикла и при завершении цикла?


Ответы

  • p = k + 1
  • p = (k + 1)2
  • p = (k + 1)2k
  • Правильный ответ: p = 2k
  • p = 2k + 1

Объяснение

В начале каждой итерации цикла p удваивается, а k увеличивается на 1. Начальные значения: p=1 и k=0. После первой итерации p=2 и k=1, после второй итерации p=4 и k=2, и так далее. Таким образом, p всегда равно на протяжении 2k всего цикла.

Задача зарезервирована: ZharovG 15:51, 20 декабря 2024 (UTC)

Check-me-animated.gif Решено: ZharovG 15:51, 20 декабря 2024 (UTC)

[ Хронологический вид ]Комментарии

(нет элементов)

Войдите, чтобы комментировать.