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 0
o 1
, seguita da zero o più !
' s ( /!*[01]!*/
).
Ad esempio, l'input può essere !!!0!!!!
o !!!1
oppure !0!!
oppure 0!
oppure 1
.
Il !
prima 0
o il 1
sono 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 0
o 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.