数学では、感嘆符は!
しばしば階乗を意味し、議論の後に来ます。
プログラミングでは、感嘆符は!
しばしば否定を意味し、それは議論の前に来ます。
この課題では、これらの操作をゼロと1にのみ適用します。
Factorial
0! = 1
1! = 1
Negation
!0 = 1
!1 = 0
ゼロ個以上の文字列を取る!
「が続いS、0
または1
ゼロ個以上続く、!
S」を(/!*[01]!*/
)。
たとえば、入力は!!!0!!!!
or !!!1
または!0!!
or 0!
または1
です。
or !
の前の' は否定で、'の後は階乗です。0
1
!
階乗は否定よりも優先順位が高いため、階乗が常に最初に適用されます。
例えば、!!!0!!!!
真の意味!!!(0!!!!)
、あるいはいっそ!(!(!((((0!)!)!)!)))
。
すべての階乗と否定の結果のアプリケーションを出力します。出力は常に0
またはになり1
ます。
テストケース
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
バイト単位の最短コードが優先されます。