2004-gre-cs-practice-book.pdf/Q34
Материал из DISCOPAL
Вопрос: Q34-4c9f66
Для следующего кода выполняемость любого блока в условных ветках показано на графе потока управления, с вероятностью выполнения условия на ребрах.
Например, логическое выражение if_condition принимает значение true в половине случаев.
do { U; if (if_condition) { V; if (break_condition) break; } else W; X; } while (loop_condition); Y;
Какое ожидаемое количество раз выполняется U?
Ответы
- 0.5
- 1
- 1.5
- Правильный ответ: 2
- Больше 10
Объяснение
В оригинале было 2/3 вместо 1/3, но это точно ошибка. Если поправить, как мы сделали, то
from sympy import symbols, summation, oo, simplify i = symbols('i') expr = summation(((1/2+1/2 + 1/2*1)*1/3)**i, (i, 0, oo)) simplified_expr = simplify(expr) print(simplified_expr)
Можно размышлять примерно — ну точно больше 1, и меньше 10 — там если расходимость будет то сразу бесконечность. Ну и на глаз прикинуть, что 1.5 — маловато.
Исходники — вопрос 34 на 27 странице книги «2004-gre-cs-practice-book.pdf»
[ Хронологический вид ]Комментарии
Войдите, чтобы комментировать.