fattoriale_somma/Program.cs
2024-11-06 18:42:16 +01:00

56 lines
1.8 KiB
C#

namespace fattoriale_somma;
class Program
{
static void Main(string[] args)
{
//dichiarazione e inizializzazione variabili
int num;
ulong fattoriale, somma, fattorialePrec, fattorialeSupporto;
somma=0;
//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
for (int i = 2; i < num; i++){
// eseguo "fattoriale * i" con una serie di somme
for (int j = 0; j < i; j++){
somma += fattoriale;
}
fattoriale = somma; // assegna il risultato della "moltiplicazione" alla variabile 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);
}
}