49 lines
1.5 KiB
C#
49 lines
1.5 KiB
C#
namespace fattoriale_somma;
|
|
|
|
class Program
|
|
{
|
|
static void Main(string[] args)
|
|
{
|
|
//dichiarazione e inizializzazione variabili
|
|
int i, j, num;
|
|
ulong fattoriale, fattorialePrec, fattorialeSupporto;
|
|
//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<=1){
|
|
fattoriale=1;
|
|
}
|
|
else{
|
|
fattoriale=Convert.ToUInt64(num);
|
|
//ciclo calcolo fattoriale
|
|
Console.WriteLine(fattoriale);
|
|
for(i=1; i>num-1; i--){
|
|
//calcolo fattoriale
|
|
Console.WriteLine(fattoriale);
|
|
Console.WriteLine(i);
|
|
fattorialeSupporto=fattoriale;
|
|
for(j=i; j>0; j--){
|
|
fattorialePrec=fattoriale;
|
|
fattoriale=fattorialeSupporto+fattorialePrec;
|
|
Console.WriteLine(fattoriale);
|
|
}
|
|
//fattoriale=fattoriale*Convert.ToUInt64(i);
|
|
}
|
|
}
|
|
//output finale
|
|
Console.Write("Il fattoriale di " +num);
|
|
Console.WriteLine(" è " +fattoriale);
|
|
}
|
|
}
|