9 条题解

  • -1
    @ 2022-11-12 16:20:57
    #include <queue>
    #include <math.h>
    #include <stack>
    #include <stdio.h>
    #include <iostream>
    #include <vector>
    #include <iomanip>
    #include <string.h>
    #include <algorithm>
    using namespace std;
    #define LL long long
    const int N = 1e4 + 10;
    const int INF = 0x3f3f3f3f;
    long long len = 1 , a[N];
    void mul(long long x)
    {
    	for(int i = 0 ; i < len ; i++)
    		a[i] *= x;
    	for(int i = 0 ; i < len ; i++)
    	{
    		a[i+1] += a[i]/10000;
    		a[i] %= 10000;
    	}
    	while(a[len] != 0)
    	{
    		a[len+1] = a[len]/10000;
    		a[len] %= 10000;
    		len++; 
    	}
    }
    int main()
    {
    	int n;
    	cin >> n;
    	a[0] = 1;
    	for(int i = 2 ; i <= n ; i++)
    		mul(i);
    	len--;
    	cout << a[len];
    	for(int i = len-1; i >= 0 ; i--)
    		printf("%04d",a[i]);
    	return 0;
    }
    

    信息

    ID
    1202
    时间
    1000ms
    内存
    128MiB
    难度
    7
    标签
    递交数
    354
    已通过
    91
    上传者