Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1

    [java]il fattoriale da risultati sfalsati

    Ho scritto questo semplicissmo programma per calcolare il fattoriale di un numero:
    codice:
    import java.io.*;
    class fattoriale
    {
          public static void main(String args[])
          {
                 int n=0;
                 long ris=1;
                 InputStreamReader input=new InputStreamReader(System.in);
                 BufferedReader tastiera=new BufferedReader(input);
                 String leggi;
                 System.out.println("- PROGRAMMA FATTORIALE 
                                     -Calcolo del fattoriale di
                                     un numero n -");
                 System.out.println("Inserire n ");
                 try
                 {
                    leggi=tastiera.readLine();
                    n=Integer.valueOf(leggi).intValue();
                 }
                 catch(Exception e)
                 {
                 }
                 int j=n;
                 while(j>0)
                 {
                         ris*=j;
                         j--;
                 }
                 System.out.println(n + "!= " + ris + ".");
          }
    }
    Il programma funziona fino a n = 24. poi escono risultati sfalsati.

    Che tipo di variabile ci metto?

  2. #2
    Utente di HTML.it
    Registrato dal
    Jul 2002
    Messaggi
    567

    Re: [java]il fattoriale da risultati sfalsati

    a occhio...

    codice:
    import java.io.*;
    class fattoriale
    {
          public static void main(String args[])
          {
                 int n=0;
                 long ris=1;
                 InputStreamReader input=new InputStreamReader(System.in);
                 BufferedReader tastiera=new BufferedReader(input);
                 String leggi;
                 System.out.println("- PROGRAMMA FATTORIALE 
                                     -Calcolo del fattoriale di
                                     un numero n -");
                 System.out.println("Inserire n ");
                 try
                 {
                    leggi=tastiera.readLine();
                    n=Integer.valueOf(leggi).intValue();
                 }
                 catch(Exception e)
                 {
                 }
                 int j=n;
                 while(j>1)
                 {
                         j--;
                         ris*=j;
                 }
                 System.out.println(n + "!= " + ris + ".");
          }
    }
    "Come vedi tutto è usuale, solo che il tempo chiude la borsa e c'è il sospetto che sia triviale l'affanno e l'ansimo dopo una corsa, l'ansia volgare del giorno dopo, la fine triste della partita, il lento scorrere senza uno scopo di questa cosa che chiami vita."

  3. #3
    stesso risultato


    in fondo c'è di meno solo la moltiplicazione per uno così

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2002
    Messaggi
    567
    ops, avevo letto male il codice -.-

    prova così, se nn funziona c'è qualche errore nell'input (nn mi ricordo abbastanza bene java x correggerlo)

    codice:
    import java.io.*;
    class fattoriale
    {
          public static void main(String args[])
          {
                 int n=0;
                 long ris=1;
                 InputStreamReader input=new InputStreamReader(System.in);
                 BufferedReader tastiera=new BufferedReader(input);
                 String leggi;
                 System.out.println("- PROGRAMMA FATTORIALE 
                                     -Calcolo del fattoriale di
                                     un numero n -");
                 System.out.println("Inserire n ");
                 try
                 {
                    leggi=tastiera.readLine();
                    n=Integer.valueOf(leggi).intValue();
                 }
                 catch(Exception e)
                 {
                 }
                 for (j = 1; j <= n; j++) {
                   ris *= j;
                 }
                 System.out.println(n + "!= " + ris + ".");
          }
    }
    "Come vedi tutto è usuale, solo che il tempo chiude la borsa e c'è il sospetto che sia triviale l'affanno e l'ansimo dopo una corsa, l'ansia volgare del giorno dopo, la fine triste della partita, il lento scorrere senza uno scopo di questa cosa che chiami vita."

  5. #5
    nemmeno così :rollo:

  6. #6
    Utente bannato
    Registrato dal
    Sep 2003
    Messaggi
    1,012
    non conosco bene il java, ma 24! è un numero stratosferico!

  7. #7
    Originariamente inviato da iguana13
    non conosco bene il java, ma 24! è un numero stratosferico!



    si, questa funzionale ha un andamento esponenziale molto elevato, però non mi posso fermare a 24

  8. #8
    Utente di HTML.it L'avatar di toraz
    Registrato dal
    Nov 2001
    Messaggi
    263
    a dire il vero il fattoriale ha un andamento fattoriale

    cmq il fattoriale di 24 e' un numero ben piu' che enorme... a occhio e croce dev'essere una roba nell'ordine di 10 alla 22 o una cosa del genere... non conosco java per nulla... ma per rappresentarlo servirebbe un intero non segnato lungo una decina di byte

  9. #9
    Originariamente inviato da toraz
    a dire il vero il fattoriale ha un andamento fattorialedecina di byte





    Parlavo con un gergo comune, quando qualcosa cresce a sproposito, si dice anche esponenziale

  10. #10
    Utente di HTML.it L'avatar di toraz
    Registrato dal
    Nov 2001
    Messaggi
    263
    Originariamente inviato da matrics21
    Parlavo con un gergo comune, quando qualcosa cresce a sproposito, si dice anche esponenziale
    avevo imamginato una cosa del genere... ma sta di fatto che il fattoriale non puo' crescere esponenzialmente

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.