#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);
}