69GiGi96
Utente Attivo
- Messaggi
- 337
- Reazioni
- 24
- Punteggio
- 39
Salve ragazzi, ho un dubbio..
Dovrei realizzare un programma in c++ che calcola il fattoriale di un numero intero non negativo inserito da tastiera.
Per ora niente funzioni ne ricorsioni.. Voglio cercare di riuscire a fare prima le cose più semplici
Avrei pensato a questa soluzione
Fino a 16 tutto ok.
A 17 mi da come risultato un numero negativo. Perchè?
A 50 mi da come risultato 0 a causa di overflow, credo.
Se provo ad usare il tipo float per poter rappresentare più numeri, provando con 50 mi da come risultato "inf"
Cosa sbaglio? :grat:
Con il tipo double inserendo 50 il risultato è 3.04141e+064
Non c'è un modo per visualizzare il risultato per esteso?
E se volessi implementare un controllo sul valore inserito da tastiera? Cioè far verificare che venga effettivamente inserito un valore intero positivo
Grazie!
Dovrei realizzare un programma in c++ che calcola il fattoriale di un numero intero non negativo inserito da tastiera.
Per ora niente funzioni ne ricorsioni.. Voglio cercare di riuscire a fare prima le cose più semplici
Avrei pensato a questa soluzione
PHP:
#include <iostream>
using namespace std;
int main()
{
int numero,i,fattoriale;
cout<< "Inserire un numero intero positivo: ";
cin>> numero;
fattoriale = 1;
for (i=1; i<=numero ;i++)
fattoriale = fattoriale*i;
cout << "Il fattoriale di " << numero << " e' " << fattoriale <<endl;
A 17 mi da come risultato un numero negativo. Perchè?
A 50 mi da come risultato 0 a causa di overflow, credo.
Se provo ad usare il tipo float per poter rappresentare più numeri, provando con 50 mi da come risultato "inf"
Cosa sbaglio? :grat:
Con il tipo double inserendo 50 il risultato è 3.04141e+064
Non c'è un modo per visualizzare il risultato per esteso?
E se volessi implementare un controllo sul valore inserito da tastiera? Cioè far verificare che venga effettivamente inserito un valore intero positivo
Grazie!
Ultima modifica: