I tried to make a combination program but I got wrong result in big numbers, why?
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("Enter element number: ");
int n = scanner.nextInt();
System.out.print("selection number: ");
int r = scanner.nextInt();
int minus = n - r;
long nFactorial = 1;
long rFactorial = 1;
long minusFactorial = 1;
for(int i = 1; i <= n; i++) {
nFactorial = nFactorial * i;
}
for(int i = 1; i <= r; i++) {
rFactorial = rFactorial * i;
}
for(int i = 1; i <= minus; i++) {
minusFactorial = minusFactorial * i;
}
long comb = nFactorial / (rFactorial * minusFactorial);
System.out.println("C(" + n + "," + r + ") combination: " + comb);
}
}
n number: 50
r number: 5
The wrong result: 0
Could you help me?