#include <iostream>
using namespace std;
unsigned long int factorial(unsigned long int);// прототип рекурсивной функции
int i = 1; // инициализация глобальной переменной для подсчёта кол-ва рекурсивных вызовов
unsigned long int result; // глобальная переменная для хранения возвращаемого результата рекурсивной функцией
int main(int argc, char* argv[])
{
int n; // локальная переменная для передачи введенного числа с клавиатуры
cout << "Enter n!: ";
cin >> n;
for (int k = 1; k <= n; k++ )
{
cout << k << "!" << "=" << factorial(k) << endl; // вызов рекурсивной функции
}
system("pause");
return 0;
}
unsigned long int factorial(unsigned long int f) // рекурсивная функция для нахождения n!
{
if (f == 1 || f == 0) // базовое или частное решение
return 1; // все мы знаем, что 1!=1 и 0!=1
//cout << "Step\t"<< i <<endl;
i++;
//cout <<"Result= "<< result << endl;
result=(f*factorial(f-1)); // функция вызывает саму себя
return result;
}
CiNpbmNsdWRlIDxpb3N0cmVhbT4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCnVuc2lnbmVkIGxvbmcgaW50IGZhY3RvcmlhbCh1bnNpZ25lZCBsb25nIGludCk7Ly8g0L/RgNC+0YLQvtGC0LjQvyDRgNC10LrRg9GA0YHQuNCy0L3QvtC5INGE0YPQvdC60YbQuNC4CmludCBpID0gMTsgLy8g0LjQvdC40YbQuNCw0LvQuNC30LDRhtC40Y8g0LPQu9C+0LHQsNC70YzQvdC+0Lkg0L/QtdGA0LXQvNC10L3QvdC+0Lkg0LTQu9GPINC/0L7QtNGB0YfRkdGC0LAg0LrQvtC7LdCy0LAg0YDQtdC60YPRgNGB0LjQstC90YvRhSDQstGL0LfQvtCy0L7Qsgp1bnNpZ25lZCBsb25nIGludCByZXN1bHQ7IC8vINCz0LvQvtCx0LDQu9GM0L3QsNGPINC/0LXRgNC10LzQtdC90L3QsNGPINC00LvRjyDRhdGA0LDQvdC10L3QuNGPINCy0L7Qt9Cy0YDQsNGJ0LDQtdC80L7Qs9C+INGA0LXQt9GD0LvRjNGC0LDRgtCwINGA0LXQutGD0YDRgdC40LLQvdC+0Lkg0YTRg9C90LrRhtC40LXQuQoKaW50IG1haW4oaW50IGFyZ2MsIGNoYXIqIGFyZ3ZbXSkKewppbnQgbjsgLy8g0LvQvtC60LDQu9GM0L3QsNGPINC/0LXRgNC10LzQtdC90L3QsNGPINC00LvRjyDQv9C10YDQtdC00LDRh9C4INCy0LLQtdC00LXQvdC90L7Qs9C+INGH0LjRgdC70LAg0YEg0LrQu9Cw0LLQuNCw0YLRg9GA0YsKY291dCA8PCAiRW50ZXIgbiE6ICI7CmNpbiA+PiBuOwpmb3IgKGludCBrID0gMTsgayA8PSBuOyBrKysgKQp7CmNvdXQgPDwgayA8PCAiISIgPDwgIj0iIDw8IGZhY3RvcmlhbChrKSA8PCBlbmRsOyAvLyDQstGL0LfQvtCyINGA0LXQutGD0YDRgdC40LLQvdC+0Lkg0YTRg9C90LrRhtC40LgKfQpzeXN0ZW0oInBhdXNlIik7CnJldHVybiAwOwp9Cgp1bnNpZ25lZCBsb25nIGludCBmYWN0b3JpYWwodW5zaWduZWQgbG9uZyBpbnQgZikgLy8g0YDQtdC60YPRgNGB0LjQstC90LDRjyDRhNGD0L3QutGG0LjRjyDQtNC70Y8g0L3QsNGF0L7QttC00LXQvdC40Y8gbiEKewppZiAoZiA9PSAxIHx8IGYgPT0gMCkgLy8g0LHQsNC30L7QstC+0LUg0LjQu9C4INGH0LDRgdGC0L3QvtC1INGA0LXRiNC10L3QuNC1CnJldHVybiAxOyAvLyDQstGB0LUg0LzRiyDQt9C90LDQtdC8LCDRh9GC0L4gMSE9MSDQuCAwIT0xCi8vY291dCA8PCAiU3RlcFx0Ijw8IGkgPDxlbmRsOwppKys7Ci8vY291dCA8PCJSZXN1bHQ9ICI8PCByZXN1bHQgPDwgZW5kbDsKcmVzdWx0PShmKmZhY3RvcmlhbChmLTEpKTsgLy8g0YTRg9C90LrRhtC40Y8g0LLRi9C30YvQstCw0LXRgiDRgdCw0LzRgyDRgdC10LHRjwpyZXR1cm4gcmVzdWx0Owp9