Perché hai dichiarato quelle variabili globali?![]()
Comunque il tuo professore è consapevole del fatto che il fattoriale di 1000000 è un numero spropositatamente grande? Non esiste alcun tipo di dato primitivo che lo possa contenere, che io sappia... e sempre secondo quello che so io puoi risolvere solo ricorrendo a delle librerie apposite per la gestione dei grandi numeri (io uso a volte la NTL).
Sicuro che il tuo professore non intendesse semplicemente che devi inserire un controllo per verificare che il numero rientri all'interno di un range di valori calcolabili?