0

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?

Federico klez Culloca
  • 26,308
  • 17
  • 56
  • 95

0 Answers0