Kombinationswert von großen Zahlen zu finden

Ich möchte (n wähle r) für große ganze Zahlen finden, und ich muss auch den Mod dieser Zahl herausfinden.

long long int choose(int a,int b)
{
    if (b > a)
        return (-1);
    if(b==0 || a==1 || b==a)
        return(1);
    else
    {
        long long int r = ((choose(a-1,b))%10000007+(choose(a-1,b-  1))%10000007)%10000007;
        return r;
    }
}

Ich verwende diesen Code, erhalte aber TLE. Wenn es dafür eine andere Methode gibt, sag es mir bitte.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage