用递归调用求1!+2!+3!+4!+5!

用递归调用求1!+2!+3!+4!+5!的值。用c++!望各位帮个忙

#include <iostream>

using namespace std;

int f(int n)
{
    if (n == 1)
        return 1;
    return n * f(n - 1);
}

int g(int n)
{
    if (n == 1)
        return f(1);
    return f(n) + g(n - 1);
}

int main()
{
    cout << g(5) << endl;
    return 0;
}