Категория B8 • задача №3
Условие задачи
Дано:
ниже на 2-х языках программирования записан некий алгоритм. Получив на вход натуральное число n, данный алгоритм печатает одно целое число.
Вопрос:
укажите каким минимальным числом должен быть n, чтобы алгоритм распечатал число 3.
Решение
I этап: детальный анализ заданного кода
Сразу отмечу тот факт, что за основу был взять язык программирования Pascal по ряду причин:
его лексика проще, чем лексика языка программирования "Чистый С";
наличие строгой типизации (каждая переменная, используемая в программе, обязана быть объявлена);
прекрасная внутренняя структурная группировка (раздел констант, раздел переменных, раздел типов данных и пр.).
Сначала проведем анализ заданной программной функции:
Промежуточный вывод: представленная функция отвечает за расчет факториала числа, являющегося ее фактическим параметром. Например, вызов f(4), вернет значение, равное 4! = 1 · 2 · 3 · 4, то есть число 24.
Сейчас проведем построчный анализ главного блока программы:
II этап: подбор входных данных
Факториал числа n (обозначение n!) - произведение всех натуральных чисел от 1 до n включительно.
Пример:
2! = 1 · 2 = 2;
5! = 1 · 2 · 3 · 4 · 5 = 120.
Существует рекуррентная формула (рекуррентность заключается в том, что текущее слагаемое можно получить из предыдущего и умножением не некий коэффициент) выражения факториала: n! = n · (n - 1)!
В свою очередь:
(n - 1)! = (n - 1) · (n - 2)!;
(n - 2)! = (n - 2) · (n - 3)!;
и так далее.
Необходимо помнить, что существует элементарный случай расчета факториала числа, это 1! или 0!, так как: 0! = 1! = 1.
То есть, пока n `<=` 9 цикл while будет выполняться.
По условию задания требуется получить значение переменной равное трем, следовательно, цикл должен выполниться три раза, а это возможно при начальном n = 9 - 3 + 1 = 7.
Вывод: |
7 - минимальное значение переменной n, когда алгоритм распечатает число равное 3 |
Резюме
отобрали наиболее подходящий из предложенных языков программирования;
детально исследовали каждую строку программного кода, предложенного алгоритма;
на основе сделанных выводов подобрали подходящее число.
Ответ: |
7 |
Категория B8 • задача №3
Остальные решения из билета №3 для подготовки к ЕГЭ по информатике 2013
Условие задачи (наведите курсор мыши на ссылку) |
Аудиовизуальное решение |
Мультимедийная видеопрезентация |
Решение в формате слайд-шоу |
Текстовое решение |
---|
Комментарии