vielleicht brauchst du aber auch gar nicht so große Zahlen,
wenn man 50! / (48! * 2!) rechnet, macht es mehr Sinn, vorher zu kürzen, wenn auch schwieriger zu programmieren,
oder zumindest abwechselnd multiplizieren und dividieren, so dass man immer im kleinen Zahlenbereich bleibt,
double ist aber relativ ungenau, falls am Ende ein genauer Einzelwert rauskommen muss, dann lieber long oder eben BigInteger