问题标题: 酷町堂:1036 阶乘的平方和,不是满分,我错在哪里?

0
0
已解决
刘米玥
刘米玥
新手守护
新手守护

题目链接: 酷町堂:1036

#include<iostream>

using namespace std;

int main()

{

    int n;

    cin>>n;

    int sum=0;

    for(int i=1;i<=n;i++)

    {

        int k=1;

        for(int j=1;j<=i;j++)

        {

            k=k*j;

        }

        sum+=k*k;

    }

    cout<<sum;

    return 0;

}

 


2
已采纳
李宜和
李宜和
高级启示者
高级启示者
    问题:首先先看这题的数据范围,比较大,那么用long long定义n,sum,a
然后审题:(求(1!)^2 + (2!)^2 + (3!)^2 +… + (n!)^2 )。
那么缩减以后就是遍历n,i的阶乘*i的阶乘
    循环内步骤:
1)用a求阶乘和
代码实现:a*=i
2)累加2a(i的阶乘*i的阶乘=a*a)
——————————————————————————————————————————————
此题易错点:
1)不能用int
2)a要赋值为1,否则会=0

 

0
0
我要回答