ในคณิตศาสตร์เครื่องหมายอัศเจรีย์!
มักหมายถึงแฟกทอเรียลและเกิดขึ้นหลังจากการโต้แย้ง
ในการเขียนโปรแกรมเครื่องหมายอัศเจรีย์!
มักหมายถึงการปฏิเสธและเกิดขึ้นก่อนการโต้แย้ง
สำหรับความท้าทายนี้เราจะใช้การดำเนินการเหล่านี้กับศูนย์หนึ่งเท่านั้น
Factorial
0! = 1
1! = 1
Negation
!0 = 1
!1 = 0
ใช้สตริงของศูนย์หรือมากกว่า!
ตามด้วย0
หรือ1
ตามด้วยศูนย์หรือมากกว่า!
( /!*[01]!*/
)
ยกตัวอย่างเช่นการป้อนข้อมูลที่อาจจะ!!!0!!!!
หรือ!!!1
หรือ!0!!
หรือหรือ0!
1
สิ่งที่!
อยู่ก่อนหน้า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
รหัสที่สั้นที่สุดในหน่วยไบต์ชนะ