Parcourir la source

组合数优化计算,可以计算到C(28,14)
更大范围应该用数组递推可以计算到C(50,25)

zj il y a 5 ans
Parent
commit
4cc98b149d
1 fichiers modifiés avec 17 ajouts et 0 suppressions
  1. 17 0
      B.cpp

+ 17 - 0
B.cpp

@@ -0,0 +1,17 @@
+#include<bits/stdc++.h>
+
+using namespace std;
+const int N = 21;
+int a[N][N];
+
+int main() {
+    int n, r;
+    while (cin >> n >> r) {
+        if (2 * r > n)r = n - r;
+        long long p = 1;
+        for (int i = 0; i < r; i++)p *= n - i;
+        for (int i = r; i >= 2; i--)p /= i;
+        cout << p << endl;
+    }
+    return 0;
+}