3 条题解

  • 0
    @ 2025-6-5 21:10:44

    以下是C++版代码,轻松KO 详见代码

    #include<iostream>
    using namespace std;
    typedef long long L;
    L s[10001], i, n, j, l;
    L a[10001], u;int main() {//基础定义
    	cin >> n;s[1] = l = 1;//输入,顺便初始化
    	for (i = 1;i <= n;i++) {//循环累加
    		for (j = 1;j <= l;j++)
    			s[j] *= i;//阶乘计算
    		for (j = 1;j <= l;j++) {
    			u = s[j] / 10;
    			s[j] %= 10;//保留个位
    			s[j + 1] += u;//进位
    		}while (s[l + 1] > 0)
    			l = l + 1;//长度增加
    		for (j = 1;j <= l;j++) {//累加
    			a[j] = a[j] + s[j];//相加
    			a[j + 1] += a[j] / 10;//进位
    			a[j] = a[j] % 10;//保留个位
    		}if (a[l + 1] > 0)l++;//长度增加
    	}for (i = l;i >= 1;i--)//倒序
    		cout << a[i];//输出
    }
    

    信息

    ID
    2592
    时间
    1000ms
    内存
    128MiB
    难度
    10
    标签
    递交数
    9
    已通过
    1
    上传者