2004-gre-cs-practice-book.pdf/Q44 — различия между версиями
Материал из DISCOPAL
StasFomin (обсуждение | вклад) |
StasFomin (обсуждение | вклад) |
||
Строка 28: | Строка 28: | ||
* Из этих вариантов правильный <m>x = 2^i - 1</m> и <m>0 \leq i \leq n</m>, потому что i мы увеличиваем после вычисления x. | * Из этих вариантов правильный <m>x = 2^i - 1</m> и <m>0 \leq i \leq n</m>, потому что i мы увеличиваем после вычисления x. | ||
− | {{question-ok|}} | + | {{question-ok|[[Участник:StasFomin|StasFomin]] 15:32, 15 декабря 2024 (UTC)}} |
[[Категория:Циклы]] | [[Категория:Циклы]] |
Текущая версия на 15:32, 15 декабря 2024
Вопрос: Q44-4c9f66
Рассмотрим следующий псевдокод, где n — неотрицательное целое число
x = 0; i = 0; while i < n do x = x + 2^i; i = i + 1; end
Что из приведенного ниже является инвариантом цикла для оператора while?
Примечание: инвариант цикла для оператора while — это утверждение, которое верно каждый раз, когда сторожевое условие оценивается во время выполнения оператора while.
Ответы
- и
- и
- Правильный ответ: и
- и
- и
Объяснение
Исходники — вопрос 44 на 32 странице книги «2004-gre-cs-practice-book.pdf»
- Ну сначала посмотрим на i и видим, что оно может добраться до n — остается два варианта.
- Из этих вариантов правильный и , потому что i мы увеличиваем после вычисления x.