Da non confondere con Trova il fattoriale!
introduzione
Il fattoriale di un numero intero n
può essere calcolato da
Questo è relativamente facile e niente di nuovo. Tuttavia, i fattoriali possono essere estesi a doppi fattoriali , in modo tale che
In sintesi:
La sfida
Scrivi una funzione che calcolerà qualsiasi tipo di fattoriale ripetuto per qualsiasi numero intero non negativo.
Ingresso
O
- Una stringa contenente un numero intero di base dieci non negativo, seguito da 1 o più punti esclamativi. Ad esempio
"6!"
o"9!!"
o"40!!!!!!!!!!!!!!!!!!!!"
.
o
- Gli stessi valori rappresentati da due numeri interi: un valore di base non negativo e un valore positivo che rappresenta il conteggio fattoriale. Questo può essere fatto in qualsiasi formato dalle regole I / O predefinite.
Produzione
Il risultato di detto calcolo.
Commenti sulla sfida
0!
è uguale1
per definizione. Il tuo codice deve tener conto di questo.- Il conteggio fattoriale è limitata da fuori di questo intervallo, si è liberi di uscita qualunque. A parte
0!
, che è l'unica eccezione a questa regola.
Esempi
Input Output
3!!! 3
0! 1
6! 720
9!! 945
10!!!!!!!! 20
40!!!!!!!!!!!!!!!!!!!! 800
420!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 41697106428257280000000000000000
Provalo con un'implementazione Python non golfata: provalo online!
Revisione generale
- Questo è code-golf , quindi vince la risposta utilizzando il minor numero di byte in ogni lingua.
- Si applicano le regole standard , le regole I / O e le scappatoie .
- Includi un link Provalo online per dimostrare il funzionamento del tuo codice.
- Motivare la risposta con una spiegazione del codice.
3!!!!!!!
non dovrebbe essere indefinito, dovrebbe solo dare la risposta 3
. È lo stesso di 1!!=1
(non definito). Inoltre la tua specifica di input dice che ce ne sarà sempre almeno una !
, quindi il primo esempio 3
non si adatta alla specifica.
(3!)!
invece rimuovendo i termini da un fattoriale. È un nome fuorviante; Sono arrivato supponendo che avrebbe applicato ripetutamente la funzione Fattoriale in una catena e ho dovuto leggere attentamente per vedere cosa fosse effettivamente. Fortunatamente la domanda lo spiega chiaramente. Un nome migliore potrebbe essere falcata fattoriale o step fattoriale o qualcosa del genere.
0!
ma le osservazioni della sfida indicano che il conteggio fattoriale sarà inferiore o uguale al valore di base.