...ma il cervello batte entrambi.
La potenza di calcolo dei computer tende a favorire l'approccio brute force invece dell'impegno all'ottimizzazione.
Io ho ancora del libri di matematica di mia mamma (classe '24) intitolati Calcolo Mentale Facilitato. Insegnavano a usare la testa.
Io ho accettato la sfida su questo problema
e ho scoperto questo metodo
. Non so se sono originale ma ve lo propongo.
Primo passo: ricerca dell' "ordine di grandezza" a passi di 5.
Un numero fattoriale ha un numero di Zeri che dipende dal numero di sottomultipli uguali a 5.
Ne ha uno per ogni 5, due ogni 25, tre ogni 125, ecc.
Partendo da qui, basta contare il numero di zeri per capire in che range si troverebbe il nostro Fattoriale.
Secondo passo: A questo punto basta dividere il numero di cui vogliamo l'antifattoriale per i 5 numeri successivi a quello trovato.
Se una delle divisioni dà riultato frazionario...il numero non è un fattoriale ed è già un bel passo avanti
Se tutte danno risultato intero possiamo calcolare l'antifattoriale con l'algoritmo brute force o metodo migliore
Qualche idea l'ho stesa anche lì
ma non voglio tediarvi
Forse richiede qualche linea di codice in più ma, sicuramente, abbrevia il tempo di calcolo e, soprattutto, da la soddisfazione all'uomo di essere superiore ai computer: con la forza si può imporre, col cervello si può creare.
Se qualcuno è interessato potrò postare anche qui un esempio di calcolo (
http://it.emcelettronica.com/linversion ... le-inverso)
Mi farebbe piacere un consiglio o critica da parte di esperti.