18-从n个数中选m个

#include <iostream>
using namespace std;

int f(int n, int m){
    
    if(n < m)         //这个条件必须先判断,因为递归时n-1了,可能有这种情况
        return 0;     
    if(m == 1)
        return n;
    if(n == 1)
        return 1;
    
    return f(n - 1, m - 1) + f(n - 1, m);    //根据考虑最后一个选不选来递归
}

int main(){
    int n, m;
    cin >> n >> m;
    cout << f(n, m);
    return 0;
}

原文地址:https://www.cnblogs.com/zhumengdexiaobai/p/7429752.html