Категория B8 • задача №3

 
 
 

Условие задачи

Дано:
ниже на 2-х языках программирования записан некий алгоритм. Получив на вход натуральное число n, данный алгоритм печатает одно целое число.

 

Вопрос:
укажите каким минимальным числом должен быть n, чтобы алгоритм распечатал число 3.

 

Решение

I этап: детальный анализ заданного кода

Сразу отмечу тот факт, что за основу был взять язык программирования Pascal по ряду причин:

  1. его лексика проще, чем лексика языка программирования "Чистый С";

  2. наличие строгой типизации (каждая переменная, используемая в программе, обязана быть объявлена);

  3. прекрасная внутренняя структурная группировка (раздел констант, раздел переменных, раздел типов данных и пр.).

Сначала проведем анализ заданной программной функции:

Промежуточный вывод: представленная функция отвечает за расчет факториала числа, являющегося ее фактическим параметром. Например, вызов 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

Резюме

  1. отобрали наиболее подходящий из предложенных языков программирования;

  2. детально исследовали каждую строку программного кода, предложенного алгоритма;

  3. на основе сделанных выводов подобрали подходящее число.

 

Ответ:

7

 
Рейтинг:
 
Проголосовало: 1
Количество просмотров: 1469
 
 
 

Категория B8 • задача №3

 

Комментарии

Для комментирования или зарегистрируйтесь
 

Остальные решения из билета №3 для подготовки к ЕГЭ по информатике 2013

 
Условие задачи
(наведите курсор мыши на ссылку)
Аудиовизуальное
решение
Мультимедийная
видеопрезентация
Решение в формате
слайд-шоу
Текстовое
решение
 
© 2011-2024 ООО "СтадиМен". Все права сохранены.
Перепечатка и использование материалов с данного сайта, разрешена только по согласию с владельцем.
Владелец оставляет за собой право воспользоваться 146 статьей УК РФ при нарушении авторских и смежных прав.
 
 
 
 
Авторизация на сайте
 
 
 
Обнаружили
ошибку на сайте?