Количество комбинаций (N выберите R) в C ++

Здесь я пытаюсь написать программу на C ++, чтобы найти NCR. Но в результате у меня проблема. Это не так. Можете ли вы помочь мне найти ошибку в программе?

#include <iostream>
using namespace std;
int fact(int n){
    if(n==0) return 1;
    if (n>0) return n*fact(n-1);
};

int NCR(int n,int r){
    if(n==r) return 1;
    if (r==0&&n!=0) return 1;
    else return (n*fact(n-1))/fact(n-1)*fact(n-r);
};

int main(){
    int n;  //cout<<"Enter A Digit for n";
    cin>>n;
    int r;
         //cout<<"Enter A Digit for r";
    cin>>r;
    int result=NCR(n,r);
    cout<<result;
    return 0;
}
10
задан Jarod42 31 October 2014 в 19:55
поделиться