Originariamente inviato da John360
E quindi?
Non è in effetti la 'i' che deve essere (per forza) BigInteger. Questa conta 1 2 3 .... anche 100000 (esagerazione!). Basta un int.

BigInteger deve essere il parziale del fattoriale (perché il valore si ingrandisce enormemente).

codice:
		long fattoriale=1;
		for(long i=n; i >= 1; i--){
			fattoriale = i * fattoriale;
		}
fattoriale fallo diventare BigInteger e inizializzalo a 1.
La 'i' può anche essere int ma long va pure bene. Il fattoriale BigInteger devi moltiplicarlo per la 'i'. Ora: non c'è un multiply() che riceve un long ma solo uno che riceve un BigInteger. Quindi ad ogni ciclo crei "al volo" un BigInteger con il valore di 'i'.

Le informazioni le hai già avute tutte nei miei precedenti messaggi. Vedi anche documentazione di BigInteger che è chiara e (credo) intuitiva.