A che numero vi da n! = inf ???

di il
2 risposte

A che numero vi da n! = inf ???

A me a 171. 170 è l'ultimo fattoriale che calcola.
Ecco il printscreen:
http://prntscr.com/ftjbf

Ecco il codice:

#include <stdio.h>
int main( void )
{
    puts( "Questo è un programma per il calcolo del fattoriale di un numero intero non negativo.\n" );
    double numeroIntero;
    puts( "Si prega di inserire un numero intero non negativo ( -1 per terminare )." );
    scanf( "%lf", &numeroIntero );
    while ( numeroIntero != -1 ) {
        while ( numeroIntero < 0 ) {
            puts( "Il numero intero deve essere non negativo.\nSi prega di inserire un numero intero non negativo ( -1 per terminare )." );
            scanf( "%lf", &numeroIntero );
            while ( numeroIntero == -1 ) {
                break;
            }
        }
        double numeroInteroFattoriale = numeroIntero;        
        if ( numeroIntero == 0 ) {
            numeroInteroFattoriale = 1;
        } else {
                unsigned int counter = 1;
                while ( counter < numeroIntero ) {
                    numeroInteroFattoriale = numeroInteroFattoriale * ( numeroIntero - counter );
                    ++counter;
                }
          }
        
          printf( "\n%.0lf\n", numeroInteroFattoriale );
  
          puts( "Si prega di inserire un numero intero non negativo ( -1 per terminare )." );
          scanf( "%lf", &numeroIntero );
    }
}

2 Risposte

  • Re: A che numero vi da n! = inf ???

    Ma che fai ? Giochi?

    E' ovvio che è sempre 170 per il tipo double a 8 byte, per te come per tutti !
  • Re: A che numero vi da n! = inf ???

    Io non ho limiti:
     200! = 7886578673647905035523632139321850622951359776871732632947425332443594\
    4996340334292030428401198462390417721213891963883025764279024263710506\
    1926624952829931113462857270763317237396988943922445621451664240254033\
    2918641312274282948532775242424075739032403212574055795686602260319041\
    7032406235170085879617892222278962370389737472000000000000000000000000\
    0000000000000000000000000
    1000! = 4.02387260077*10^2567
    10 000! = 2.8462596809*10^35659
    100 000! = 2.824229408*10^456573
    1000 000! = 8.2639317*10^5565708
    1000 000 000! = 9.9046*10^8565705522
Devi accedere o registrarti per scrivere nel forum
2 risposte