W matematyce wykrzyknik !
często oznacza silnię i pojawia się po kłótni.
W programowaniu wykrzyknik !
często oznacza negację i pojawia się przed argumentem.
W przypadku tego wyzwania zastosujemy te operacje tylko do zera i jednego.
Factorial
0! = 1
1! = 1
Negation
!0 = 1
!1 = 0
Weź ciąg zerowy lub więcej !
, następnie 0
lub 1
, a następnie zero lub więcej !
( /!*[01]!*/
).
Na przykład wejściem może być !!!0!!!!
lub !!!1
lub !0!!
lub 0!
lub 1
.
!
„S przed 0
lub 1
są negacji i !
” s po są silni.
Silnia ma wyższy priorytet niż negacja, więc silnie są zawsze stosowane jako pierwsze.
Na przykład !!!0!!!!
naprawdę oznacza !!!(0!!!!)
, albo jeszcze lepiej !(!(!((((0!)!)!)!)))
.
Wyprowadza wynikowe zastosowanie wszystkich silni i negacji. Wyjście będzie zawsze 0
lub 1
.
Przypadki testowe
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
Najkrótszy kod w bajtach wygrywa.