Comment calculer une suite mathématique en C++

u(n) = n.u(n-1)+(n+1).u(n-2)+n.

u(0)=3 ;
u(1)=2 ;

using namespace std;
#include<iostream>
#include<stdlib.h>

int main()
{
    int n,u,i,v,w;
    cout<<"Tapez la valeur de n : ";cin>>n;
    u=3;
    v=2;
    if(n==0
       w=u;
    else 
       if(n==1)
          w=v;
       else
         for(int i=2;i<=n;i++)
         {
             w=i*v+(i+1)*u+i;
             u=v;
             v=w;
         }

   cout<< "u("<<n<<")=" << w << endl;
   system("pause");