排列组合怎么求每个排列的加和

img


就是这种怎么把它们加和,单个的会,在这个基础上怎么做求大佬指点

#include <iostream>
#include <cstdio>
using namespace std;
double A(int n, int m) //通过递归求解排列A(n,m)的值
{
    if (m == 0)
        return 1;
    else if (m == 1)
        return n;
    else
        return n * A(n - 1, m - 1); //也可以换成: (n - m + 1) * A(n, m - 1);
}
int main()
{
    int x=0;
    scanf("%d",&x);
    double sum=0;
    for(int i=1;i<=x;i++)
    {
        sum+=A(x,i);
    }
    printf("%.0lf",sum);
    return 0;
}