Загрузка данных


#include <iostream>
using namespace std;

long long factorial(int n);
int fibonacci(int n);

int main() {
    int N;

    do {
        cout << "Введите N (0 для выхода): " << endl;
        cin >> N;

        if (N < 0 || N > 20) {
            cout << "N должно быть от 0 до 20." << endl;
            continue;
        }

        if (N == 0) {
            cout << "Выход." << endl;
            break;
        }

        long long fact = factorial(N);
        int fib = fibonacci(N);

        cout << N << "! = " << fact << endl;
        cout << "F(" << N << ") = " << fib << endl << endl;

    } while (true);

    return 0;
}

long long factorial(int n) {
    if (n == 0 || n == 1) {
        return 1;
    }
    return n * factorial(n - 1);
}

int fibonacci(int n) {
    if (n == 0) return 0;
    if (n == 1) return 1;

    return fibonacci(n - 1) + fibonacci(n - 2);
}