实现错拍公式

it2023-03-26  78

#include <iostream> using namespace std; typedef long long ll; const int N = 1e3 + 9; int f[N]; int main() { int n; cin >> n; f[1] = 0; f[2] = 1; for (int i = 3; i <= n; i++) { f[i] = (f[i - 1] + f[i - 2]) * (i - 1); } cout << f[n] << endl; ll a = 0, b = 1, c = 1; for (int i = 3; i <= n; i++) { c = (a + b) * (i - 1); a = b; b = c; } if (n != 1) { cout << c << endl; } else { cout << 0 << endl; } return 0; }
最新回复(0)