9
อุปกรณ์เสริมหลังจากความจริง!
ความท้าทายนี้ได้รับแรงบันดาลใจจากวิชาคณิตศาสตร์เป็นความจริง การเขียนโปรแกรมไม่ได้ สัญกรณ์คณิตศาสตร์สำหรับปัจจัยหรือความเป็นจริง!เป็นเครื่องหมายอัศเจรีย์ เครื่องหมายอัศเจรีย์ยังเป็นสัญลักษณ์ทั่วไปสำหรับnotภาษาการเขียนโปรแกรมจำนวนมาก ท้าทาย: ใช้สตริงที่มีตัวเลขและตัวอักษร: + !เป็นอินพุตและเอาต์พุตต่อไปนี้: ทุกสิ่งที่อยู่ข้างหน้าเครื่องหมายอัศเจรีย์ควรได้รับการประเมินว่าเป็นนิพจน์ทางคณิตศาสตร์ดังนั้น2+2ควรเป็น4จะ ทุกอย่างหลังจากเครื่องหมายอัศเจรีย์ควรจะผนวกเข้ากับอุปกรณ์เสริมที่อยู่ข้างหน้ามันดังนั้น: 2+2!5ควรให้45เพราะ2+2=4และ5เป็นอุปกรณ์เสริม ควรให้2+2!5+5410 ตั้งแต่!ยังหมายถึงnotอะไรที่ไม่ได้เป็นอุปกรณ์เสริมหลังจากที่ความจริงควรจะไม่ได้ถูกผนวก ดังนั้น2+2!!5ควรให้4เนื่องจาก5ไม่ใช่อุปกรณ์เสริม ตอนนี้not(not(true))==trueจึงควรให้2+2!!!5 ควรให้: เพราะแล้วตามด้วยปัจจัยและ คนแรกไม่ใช่ความจริง แต่เป็นเครื่องหมายอัศเจรีย์อีกอันหนึ่งดังนั้นจึงเป็นเรื่องจริงอีกครั้ง452+2!!5!5+54102+2=4!5!5+555+5 ชี้แจง: เครื่องหมายอัศเจรีย์จะไม่ติดกับ a +กับด้านใดด้านหนึ่ง จะไม่นำ+ตัวเลข (มัน5ไม่ใช่+5) !คุณอาจเลือกที่จะรวมศูนย์นำถ้าว่าเป็นผลมาจากการแสดงออกในด้านหน้าของครั้งแรก ทั้ง4และ04เป็นที่ยอมรับเอาต์พุตสำหรับอินพุต:0+0!4 บทสรุปผู้บริหาร:ประเมินผลรวมแต่ละรายการ (ถือว่า!เป็นตัวคั่น) จากนั้นทิ้งหมายเลขทั้งหมดที่ปรากฏหลังจำนวนคู่!(นับจากจุดเริ่มต้นของสตริง) จากนั้นลบทั้งหมด!แล้วเอาทั้งหมด กรณีทดสอบ: ! <- Empty string 5 5 12! 12 !87 87 !!5 <- Empty string 5+5!2+2 104 5+5!!2+2 10 …
10
code-golf