In matematica un punto esclamativo !spesso significa fattoriale e segue l'argomento.
Nella programmazione di un punto esclamativo !spesso significa negazione e viene prima dell'argomento.
Per questa sfida applicheremo queste operazioni solo a zero e una.
Factorial
0! = 1
1! = 1
Negation
!0 = 1
!1 = 0
Prendi una stringa di zero o più !'s, seguita da 0o 1, seguita da zero o più !' s ( /!*[01]!*/).
Ad esempio, l'input può essere !!!0!!!!o !!!1oppure !0!!oppure 0!oppure 1.
Il !prima 0o il 1sono negazioni e il !dopo sono fattoriali.
Il fattoriale ha una precedenza maggiore rispetto alla negazione, quindi i fattoriali vengono sempre applicati per primi.
Ad esempio, !!!0!!!!significa veramente !!!(0!!!!), o meglio ancora !(!(!((((0!)!)!)!))).
Produce l'applicazione risultante di tutti i fattoriali e le negazioni. L'output sarà sempre 0o 1.
Casi test
0 -> 0
1 -> 1
0! -> 1
1! -> 1
!0 -> 1
!1 -> 0
!0! -> 0
!1! -> 0
0!! -> 1
1!! -> 1
!!0 -> 0
!!1 -> 1
!0!! -> 0
!!!1 -> 0
!!!0!!!! -> 0
!!!1!!!! -> 0
Vince il codice più breve in byte.
