1 条题解

  • 0
    @ 2026-10-7 20:01:09

    大白话思路

    从 1 到 n 逐次更新当前阶乘,再把它累加到总和。当前阶乘等于上一个阶乘乘以本次数字;不要把“阶乘的和”误写成“和的阶乘”。注意使用足够大的整数类型。时间 O(n),额外空间 O(1)。

    C++17 标准解

    #include<iostream>
    using namespace std;
    int main()
    {
        int num,i;
        long int sum=0,temp=1;
    
        cin>>num;
        for(i=1;i<=num;i++)
        {
            temp=temp*i;//计算阶乘
            sum=sum+temp;//累加
        }
        cout<<sum<<endl;
      
        return 0;
    }
    

    来源:HEEKDragonOne/ACM,一本通 1091;固定提交 29b5b378f6257c2d9ba99452d0f5b770a26c826c。仅赛后开放。

    • 1

    信息

    ID
    1003
    时间
    1000ms
    内存
    128MiB
    难度
    7
    标签
    递交数
    37
    已通过
    10
    上传者