编辑代码

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