递归
#include <iostream>
using namespace std;
int fact(int n);
int main() {
int n;
cout << "请输入n=";
cin >> n;
cout << "n!=" << fact(n) << endl;
system("pause");
return 0;
}
int fact(int n) {
if (n == 0) return 1;
return n * fact(n-1);
}
非递归
#include <iostream>
using namespace std;
int factFor(int n);
int main() {
int n;
cout << "请输入n=";
cin >> n;
cout << "n!=" << factFor(n) << endl;
system("pause");
return 0;
}
int factFor(int n) {
int result;
result = 1;
for (int i=1;i<=n;i++)
{
result = i * result;
}
return result;
}