Использование C++ для определения факториала достаточно прост. Чтобы напечатать значения, приближающиеся (если факториал равен 5) ... 1 * 2, * 3, * 4 * 5 тоже не проблема - как я думаю, я сделал ниже. Но то, что я с трудом делаю, говорит, покажите мне 5 * 4, затем значение * 3, затем значение * 2 и т. Д. Я хочу иметь возможность печатать данные, идущие вниз, и я не могу понять, как это понять.Рекурсивно печатать Factorial values в порядке убывания товара?
#include <iostream>
using namespace std;
int factorial(int n);
int main()
{
int number;
cout << "Enter an integer value ";
cin >> number;
cout << "The factorial of " << number << " is ";
cout << factorial(number) << endl;
}
int factorial(int n)
{
if (n == 0)
return 1; // Base case
else
{
n = n * factorial(n - 1); // Recursive case
cout << " going up" << n << " ";
return n;
}
}
Есть еще несколько сообщений, но я не нашел одного, спрашивающего то же самое. Желаемые результаты: 20 60 120 Текущие результаты 1 2 6 24 120 Обратите внимание: Спасибо.
Переместить 'cout <<' на одну строку вверх. – Ryan
Пожалуйста, отредактируйте свое сообщение, чтобы включить результаты, которые вы ожидаете, и результаты, которые вы получаете. Благодарю. –
@YelizavetaYR Помог ли ответ? –