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 0lub 1, a następnie zero lub więcej !( /!*[01]!*/).
Na przykład wejściem może być !!!0!!!!lub !!!1lub !0!!lub 0!lub 1.
!„S przed 0lub 1są 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 0lub 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.
