2004-gre-cs-practice-book.pdf/Q15 — различия между версиями
Материал из DISCOPAL
StasFomin (обсуждение | вклад) |
StasFomin (обсуждение | вклад) |
||
Строка 23: | Строка 23: | ||
=== Объяснение === | === Объяснение === | ||
− | Это классический алгоритм «быстрого возведения в степень». | + | Это классический алгоритм «быстрого возведения в степень», осталось не запутаться, где основание и где показатель. |
{{cstest-source|2004-gre-cs-practice-book.pdf|18|15}} | {{cstest-source|2004-gre-cs-practice-book.pdf|18|15}} |
Текущая версия на 00:45, 14 декабря 2024
Вопрос: Q15-4c9f66
Инвариантом для приведенного ниже цикла является и .
x := b; k := n; z := 1; while (k != 0) { if odd(k) then z := z*x; x := x*x; k := [k/2]; }
Когда цикл завершается, что из перечисленного ниже должно быть истинным?
Ответы
- Правильный ответ:
Объяснение
Это классический алгоритм «быстрого возведения в степень», осталось не запутаться, где основание и где показатель.
Исходники — вопрос 15 на 18 странице книги «2004-gre-cs-practice-book.pdf»