In der Mathematik bedeutet ein Ausrufezeichen !oft Fakultät und kommt nach dem Argument.
Bei der Programmierung bedeutet ein Ausrufezeichen !oft Negation und steht vor dem Argument.
Für diese Herausforderung wenden wir diese Operationen nur auf Null und Eins an.
Factorial
0! = 1
1! = 1
Negation
!0 = 1
!1 = 0
Nehmen Sie eine Folge von null oder mehr !, gefolgt von 0oder 1, gefolgt von null oder mehr !( /!*[01]!*/).
Beispielsweise kann die Eingabe !!!0!!!!oder !!!1oder !0!!oder 0!oder sein1 .
Das !'s vor dem 0oder 1sind Negationen und das !' s nach sind Fakultäten.
Fakultät hat höhere Priorität als Negation, daher werden Fakultäten immer zuerst angewendet.
Zum Beispiel !!!0!!!!wirklich bedeutet !!!(0!!!!), oder noch besser !(!(!((((0!)!)!)!))).
Die resultierende Anwendung aller Fakultäten und Negationen ausgeben. Die Ausgabe wird immer 0oder sein 1.
Testfälle
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
Der kürzeste Code in Bytes gewinnt.
