C++中 如何计算前n项阶乘的和

C++中 怎么计算前n项阶乘的和
C++刚刚学到for嵌套循环,老师要写一个N项阶乘的和(1!+2!+3!+4!+...n!),一下搞晕了。下面是我写的,给我看一下是错在哪。多多指教,谢谢了

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

------解决方案--------------------
k*=i; 改成 k*=j 粗心