#include <iostream>
#include<cmath>
using namespace std;

/*自定义递归函数*/
long long recursion(int num){
    if(num == 1){
        return 1;
    }else{
        return num*recursion(num-1);
    }
}

int main() {
    int num = 0; //定义并初始化用户输入
    // 最简单的就是使用递归的思路去解决,虽然低效但题目数据只在20之内。
    // 直接递归就完事了
    cin>>num; //接受用户的输入
    long long sum = 0; //定义初始化阶乘总和
    sum = recursion(num);
    cout<<sum;
    return 0;   
}

递归求解