Сколько существует программ, которые число a преобразуют в число b,а затем это число преобразуют в число c - C (СИ)

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

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

Нужно написать общую программу,решающую задачу. У исполнителя две команды, которым присвоены номера: Прибавить 1 Умножить на 2 Программа для исполнителя — это последовательность команд. Сколько существует программ, которые число a преобразуют в число b,а затем это число преобразуют в число c? Нужно использовать рекурсии.Это важно.

Решение задачи: «Сколько существует программ, которые число a преобразуют в число b,а затем это число преобразуют в число c»

textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
 
int count;
 
void Next(int n, int c)
{
     if (n > c) return;
     if (n==c) {count++; return;}
     Next(n+2,c);
     Next(n*n*n,c);
}     
 
int main(int argc, char *argv[])
{
  count=0;
  Next(2,28);
  printf("%d\n",count);
  system("PAUSE");  
  return 0;
}

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

В этом коде используется рекурсивная функция Next, которая принимает два аргумента: n и c. Если n больше c, функция прекращает свою работу. Если n равно c, то функция увеличивает счетчик count на единицу и продолжает работу. Если n меньше c, функция вызывает саму себя, но уже с аргументами n+2 и c, а также nnn и c. В функции main счетчик count инициализируется нулем. Затем вызывается функция Next с аргументами 2 и 28. 28 - это максимальное значение, которое может быть получено из 2 путем возведения в куб (222=8), затем в четвертой степени (8888=2097152), затем в шестой степени (209715220971522097152209715220971522097152=576460448) и так далее. После того, как все значения от 2 до 28 были обработаны, функция main выводит значение count, которое равно количеству программ, которые число a преобразуют в число b, а затем это число преобразуют в число c. Затем программа ожидает нажатия клавиши, чтобы пользователь мог увидеть результат.

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


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

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

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