41 lines
1.1 KiB
C#

namespace fattoriale_moltiplicazione_for;
class Program
{
static void Main(string[] args)
{
//dichiarazione variabili
int i, num;
ulong fattoriale;
//inizio programma
//input e input sanitization
do{
Console.Write("Inserire un numero: ");
num=Convert.ToInt32(Console.ReadLine());
if(num<0){
Console.WriteLine("Il numero non può essere negativo");
}
else if(num>65){
Console.WriteLine("Il numero inserito è troppo grande");
}
}
while(num<0 || num>65);
//gestione caso 0
if (num==0){
fattoriale=1;
}
else{
fattoriale=Convert.ToUInt64(num);
//ciclo calcolo fattoriale
for(i=num-1; i>1; i--){
//calcolo fattoriale
fattoriale=fattoriale*Convert.ToUInt64(i);
}
}
//output finale
Console.Write("Il fattoriale di " +num);
Console.WriteLine(" è " +fattoriale);
}
}