求助大神,一道题简单的题希望帮忙改改

对于给定的正整数N,需要你计算 S=1!+2!+3!+...+N!。
输入格式:
输入在一行中给出一个不超过10的正整数N。
输出格式:
在一行中输出S的值。
输入样例:
3

输出样例:
9
#include
using namespace std;
int main()
{
double n,fact=1,sum=0,i,j;
cin>>n;
for(i=1;i<=n;i++){
fact=1;
for(j=1;j<=i;j++)
{
fact*=j;
}
sum+=fact;}
cout<<sum;

}

没发现明显的错误

#include <iostream>
using namespace std;
int main()
{
    double n,fact=1,sum=0,i,j;
    cin>>n;
    for(i=1;i<=n;i++){
        fact=1;
        for(j=1;j<=i;j++)
        {
            fact*=j;
        }
        sum+=fact;}
    cout<<sum;
}