ครั้งสุดท้ายที่ฉันพยายามหาอะไรที่ง่าย ๆ ที่ไม่ซ้ำซ้อนมันก็ยากเกินไป .. หวังว่าครั้งนี้มันจะเป็นสิ่งที่ผู้มาใหม่สามารถลองได้เช่นกัน
การป้อนข้อมูล:
อาร์เรย์ / รายการที่มีจำนวนเต็ม / ทศนิยม (หรือสตริงที่แทนอาร์เรย์ที่มีจำนวนเต็ม / ทศนิยม)
เอาท์พุท:
วนรอบตัวเลขและใช้ตัวถูกดำเนินการทางคณิตศาสตร์ห้าตัวต่อไปนี้ตามลำดับนี้:
- เพิ่มเติม (
+
); - การลบ (
−
); - การคูณ (
*
หรือ×
หรือ·
); - จริง /กองเครื่องคิดเลข (
/
หรือ÷
); - การยกกำลัง (
^
หรือ**
)
(หมายเหตุ: สัญลักษณ์ระหว่างวงเล็บจะถูกเพิ่มเป็นการชี้แจงหากภาษาการเขียนโปรแกรมของคุณใช้สัญลักษณ์ที่แตกต่างไปจากเดิมอย่างสิ้นเชิงสำหรับการดำเนินการทางคณิตศาสตร์มากกว่าตัวอย่าง
ดำเนินการต่อไปเรื่อย ๆ จนกว่าคุณจะไปถึงจุดสิ้นสุดของรายการแล้วให้ผลลัพธ์ของผลรวม
กฏท้าทาย:
- การยกกำลังด้วย 0 (
n ^ 0
) ควรส่งผลเป็น 1 (รวมถึง0 ^ 0 = 1
) - ไม่มีกรณีทดสอบสำหรับการหารด้วย 0 (
n / 0
) ดังนั้นคุณไม่ต้องกังวลเกี่ยวกับกรณีขอบ - หากอาร์เรย์มีเพียงตัวเลขเดียวเราจะคืนค่านั้นเป็นผลลัพธ์
กฎทั่วไป:
- นี่คือcode-golfดังนั้นคำตอบที่สั้นที่สุดในจำนวนไบต์ชนะ
อย่าปล่อยให้ภาษาโค้ดกอล์ฟกีดกันคุณจากการโพสต์คำตอบด้วยภาษาที่ไม่ได้เข้ารหัส พยายามหาคำตอบสั้น ๆ ที่เป็นไปได้สำหรับภาษาโปรแกรม 'ใด ๆ ' - กฎมาตรฐานจะใช้สำหรับคำตอบของคุณดังนั้นคุณจึงได้รับอนุญาตให้ใช้ STDIN / STDOUT ฟังก์ชัน / เมธอดพร้อมพารามิเตอร์ที่เหมาะสมโปรแกรมเต็มรูปแบบ การโทรของคุณ
- ช่องโหว่เริ่มต้นเป็นสิ่งต้องห้าม
- หากเป็นไปได้โปรดเพิ่มลิงค์พร้อมทดสอบรหัสของคุณ
กรณีทดสอบ:
[1,2,3,4,5] -> 0
-> 1 + 2 = 3
-> 3 - 3 = 0
-> 0 * 4 = 0
-> 0 / 5 = 0
[5,12,23,2,4,4,2,6,7] -> 539
-> 5 + 12 = 17
-> 17 - 23 = -6
-> -6 * 2 = -12
-> -12 / 4 = -3
-> -3 ^ 4 = 81
-> 81 + 2 = 83
-> 83 - 6 = 77
-> 77 * 7 -> 539
[-8,50,3,3,-123,4,17,99,13] -> -1055.356...
-> -8 + 50 = 42
-> 42 - 3 = 39
-> 39 * 3 = 117
-> 117 / -123 = -0.9512...
-> -0.9512... ^ 4 = 0.818...
-> 0.818... + 17 = 17.818...
-> 17.818... - 99 -> -81.181...
-> -81.181... * 13 = -1055.356...
[2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2] -> 256
-> 2 + 2 = 4
-> 4 - 2 = 2
-> 2 * 2 = 4
-> 4 / 2 = 2
-> 2 ^ 2 = 4
-> 4 + 2 = 6
-> 6 - 2 = 4
-> 4 * 2 = 8
-> 8 / 2 = 4
-> 4 ^ 2 = 16
-> 16 + 2 = 18
-> 18 - 2 = 16
-> 16 * 2 = 32
-> 32 / 2 = 16
-> 16 ^ 2 = 256
[1,0,1,0,1,0] -> 1
-> 1 + 0 = 1
-> 1 - 1 = 0
-> 0 * 0 = 0
-> 0 / 1 = 0
-> 0 ^ 0 = 1
[-9,-8,-1] -> -16
-> -9 + -8 = -17
-> -17 - -1 = -16
[0,-3] -> -3
-> 0 + -3 = -3
[-99] -> -99