瀏覽代碼

N!:高精度,数组模拟

zj 5 年之前
父節點
當前提交
a951601f06
共有 1 個文件被更改,包括 23 次插入0 次删除
  1. 23 0
      D.cpp

+ 23 - 0
D.cpp

@@ -0,0 +1,23 @@
+#include <bits/stdc++.h>
+
+using namespace std;
+
+int main(int argc, char const *argv[]) {
+    for (int n; cin >> n;) {
+        vector<int> v(1, 1);
+        for (int i = 2; i <= n; i++) {
+            int sc = 0;
+            for (int j = 0; j < v.size(); j++) {
+                sc = sc + v[j] * i;
+                v[j] = sc % 10;
+                sc /= 10;
+            }
+            for (; sc; sc /= 10)
+                v.push_back(sc % 10);
+        }
+        for (vector<int>::reverse_iterator it = v.rbegin(); it != v.rend(); ++it)
+            cout << *it;
+        cout << endl;
+    }
+    return 0;
+}