#include <iostream>
using namespace std;
int ditui(int n) {
int x = 1;
for (int i = 1; i <= n; i++) {
x = x * i;
}
return x;
}
int digui(int n) {
int x = 0 ;
if (n < 0)
cout << "error" << endl;
else if (n == 1)
return 1;
else
x = digui(n - 1) * n;
return x;
}
int main() {
int n;
cin >> n;
ditui(n);
cout << "递推n!为" << ditui(n) << endl;
digui(n);
cout << "递归n!为" << digui(n) << endl;
return 0;
}