代码编程算法问题:
请问为什么过不了啊,代码如下:
#include <bits/stdc++.h>
using namespace std;
const int mod = 1e9 + 7;
int n;
int dp[100005];
int main() {
cin >> n;
if (n == 1) {
cout << 1 << endl;
return 0;
}
dp[1] = 1;
dp[2] = 1;
for (int i = 3; i <= n; i++) {
dp[i] = dp[i-1] * (i-1);
}
cout << dp[n] << endl;
}