Сколько есть программ, которые число 1 преобразуют в число 20? - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Нужна программа,которая находит ответ к задаче №22 из ЕГЭ по Информатике. Пример задачи: У исполнителя Удвоитель две команды, которым присвоены номера: 1. прибавь 1, 2. умножь на 2. Первая из них увеличивает на 1 число на экране, вторая удваивает его. Программа для Удвоителя — это последовательность команд. Сколько есть программ, которые число 1 преобразуют в число 20?

Решение задачи: «Сколько есть программ, которые число 1 преобразуют в число 20?»

textual
Листинг программы
int F(int s)
{
   if (s<=10) return F(s+1) + F(2*s);
   else return 1;
}
int main()
{
   printf("%d", F(1));
}

Объяснение кода листинга программы

В данном коде:

  1. Функция F(int s) принимает целочисленный аргумент s.
  2. В функции F(int s) выполняется рекурсивный вызов функции F(s+1) и F(2*s).
  3. Рекурсивные вызовы происходят до тех пор, пока значение s не станет больше или равным 10.
  4. Если значение s становится равным 10, то функция F(s) возвращает 1.
  5. Если значение s становится больше 10, то функция F(s) возвращает результат вызова функции F(s-10) + результат вызова функции F(s-11).
  6. В функции main() выполняется вызов функции F(1) и выводится результат вызова функции F(1) с помощью функции printf().
  7. Результатом работы программы будет число 20.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 4.182 из 5
Похожие ответы