ALEXMATH

Информатика. ЕГЭ

Задания для подготовки

Задачи разных лет из реальных экзаменов, демо-вариантов, сборников задач и других источников

Перейти к заданиям

Задание 16. Информатика. Статград-22-3-2

Просмотры: 16424
Изменено: 1 февраля 2025

Алгоритм вычисления значения функции \(F(n)\), где \( n \) — целое неотрицательное число, задан следующими соотношениями:

\( F(0) = 0\);
\( F(n) = F(n-1) + 1\), если \(n\) нечётно;
\( F(n) = F(n/2)\), если \( n >0\) и при этом \( n \) чётно.

Укажите количество таких значений \( n < 1~000~000~000\), для которых \( F(n) = 3\).

Решение:

Python

На Пайтоне указанный алгоритм можно записать так.

Однако выполняться такой алгоритм при больших \(n\) будет очень долго. Значит для решения этой задачи нужны другие соображения. Легко заметить, что функция \( F(n)\) есть ни что иное, как подсчёт числа единиц в двоичной записи числа. Поэтому задачу решает более простой цикл:

Эту же задачу можно решить и не особо программируя. В командной строке Пайтона определяем разрядность числа \( 1~000~000~000\) в двоичной записи.

Осталось определить, сколькими способами можно разместить три единицы по тридцати позициям: $$ C^2_{30} = \frac{30!}{3! \, 27!} = \frac{28 \cdot 29 \cdot 30}{6} = 4060. $$

Ответ: 4060

Обсуждение задания

Здесь пока нет ни одного комментария. Будьте первым!

kege1
kege2
kege3
Новый тренажёр-эмулятор
Станции КЕГЭ

Эффективно готовьтесь к ЕГЭ по информатике с новым тренажёром, эмулирующем работу станции КЕГЭ, которая используется на реальном экзамене.

Новое видео

Методы решения задания 16 ЕГЭ по Информатике «Вычисление рекуррентных выражений»

Поддержать автора сайта!

Поддержите автора сайта, если материалы, размещённые здесь, оказались вам полезны.

Совершая донат, вы соглашаетесь с Условиями использования

Расписание пробников Статграда в 2026/27 учебном году