ใน New Modern Timesเมื่อชาร์ลีแชปลินได้พบกับคอมพิวเตอร์เขาเป็นลูกจ้างในการเรียงลำดับลานขณะที่ตรวจสอบเพื่อตรวจสอบว่าคนงานจะได้อย่างถูกต้องเรียงลำดับรายการ รายการที่มีปัญหาคือแพ็คเก็ตของหินอ่อน แพ็คเก็ตที่มีจำนวนของ Marbles จะถูกเรียงซ้อนในตะกร้าสีแดงและแพ็คเก็ตที่มีจำนวนของ Marbles จะซ้อนกันในตะกร้าสีน้ำเงิน
Charlie Chaplin ควรชกโปรแกรมที่จะตรวจสอบว่ามีความผิดปกติใด ๆ ในขั้นตอนการเรียงลำดับ Mack Swain Boss ทันทีของเขาแบ่งปันอัลกอริทึมที่ต้องการรหัส
ขั้นตอนวิธี
L = List of Marble packets that's already sorted
L_ODD = List of packets with Odd Number of Marbles
L_EVEN = List of packets with Even Number of Marbles
Check_Digit = √(ΣL_ODD² + ΣL_EVEN²)
หน้าที่ของเขาคือกำหนด Check_Digit และจับคู่กับค่าที่เจ้านายของเขาคำนวณ
ชาร์ลีแชปลินในช่วงเวลาอาหารกลางวันของเขาสามารถแอบเข้าไปในลิ้นชักของแม็คสเวนได้และพบว่าลิ้นชักของเขามีการ์ดใบเดียวที่มีหมัดต่อ46 46คอลัมน์แรก(ซึ่งหมายความว่าแม็คสามารถเขียนโปรแกรมได้เพียง46 32 ตัวอักษร)
ตอนนี้ Charlie Chaplin ต้องการความช่วยเหลือจากโค้ดนินจาทั้งหมดเพื่อเขียนโปรแกรมที่มีบรรทัดน้อยที่สุดเท่าที่จะเป็นไปได้ นอกจากนี้เขายังประกาศโบนัส 50 คะแนนถ้าใครสามารถมากับโปรแกรมที่สั้นกว่าบอสของเขา
สรุป
รับรายการ / อาร์เรย์ / เวกเตอร์ของจำนวนบวก (คี่และคู่) คุณต้องเขียนฟังก์ชันซึ่งจะยอมรับarray(int [])/vector<int>/list
และคำนวณรากของผลรวมของกำลังสองของผลบวกของจำนวนคี่และคู่ในรายการ
ขนาดของโปรแกรมคือขนาดของร่างกายของฟังก์ชั่นเช่นไม่รวมขนาดของลายเซ็นฟังก์ชั่น
ตัวอย่าง
List = [20, 9, 4, 5, 5, 5, 15, 17, 20, 9]
Odd = [9, 5, 5, 5, 15, 17, 9]
Even = [20, 4, 20]
Check_Digit = √(ΣOdd² + ΣEven²) = 78.49203781276162
หมายเหตุผลลัพธ์ที่แท้จริงอาจแตกต่างกันไปตามความแม่นยำจุดลอยตัวของการใช้งาน
คะแนน
Σ(Characters in your Program) - 46
คะแนนจะถูกคำนวณเป็น Σ(Characters in your Program) - 32
คะแนนจะถูกคำนวณเป็น นอกเหนือจากการ upvoting ปกติจากชุมชนคะแนนลบต่ำสุดจะได้รับโบนัสเพิ่มเติม 50 คะแนน
แก้ไข
- ออฟเซ็ตที่ใช้ในการคำนวณคะแนนได้เปลี่ยนจาก 46 เป็น 32 หมายเหตุสิ่งนี้จะไม่ส่งผลกระทบต่อสิทธิ์ของผู้นำบอร์ด / รางวัลหรือการแก้ปัญหาใด ๆ
คำตัดสิน
หลังจากการต่อสู้ที่น่าสยดสยองระหว่าง Ninjas มิสเตอร์แชปลินได้รับคำตอบที่ยอดเยี่ยม น่าเสียดายที่บางคำตอบพยายามใช้ประโยชน์จากกฎอย่างไม่เหมาะสมและไม่มีประโยชน์มากนัก จริง ๆ แล้วเขาต้องการการต่อสู้ที่ยุติธรรมและคำตอบที่ตรรกะถูกเข้ารหัสภายในฟังก์ชันลายเซ็นในที่สุดก็หมายความว่าลายเซ็นของฟังก์ชั่นเป็นส่วนหนึ่งของการแก้ปัญหา ในที่สุด Ninja FireFly เป็นผู้ชนะที่ชัดเจนและมอบโบนัสที่เขาสมควรได้รับแก่เขา กระดานผู้นำ (อัปเดตทุกวัน)
╒══════╤═════════════════╤══════════════╤═════════╤════════╤═══════╕
├ Rank │ Ninja │ Dialect │ Punches │ Scores │ Votes ┤
╞══════╪═════════════════╪══════════════╪═════════╪════════╪═══════╡
│ 0 │ FireFly │ J │ 17 │ -15 │ 6 │
├──────┼─────────────────┼──────────────┼─────────┼────────┼───────┤
│ 1 │ tmartin │ Kona │ 22 │ -10 │ 2 │
├──────┼─────────────────┼──────────────┼─────────┼────────┼───────┤
│ 2 │ Sven Hohenstein │ R │ 24 │ -8 │ 7 │
├──────┼─────────────────┼──────────────┼─────────┼────────┼───────┤
│ 3 │ Ben Reich │ GolfScript │ 30 │ -2 │ 1 │
├──────┼─────────────────┼──────────────┼─────────┼────────┼───────┤
│ 4 │ mollmerx │ k │ 31 │ -1 │ 0 │
├──────┼─────────────────┼──────────────┼─────────┼────────┼───────┤
│ 5 │ David Carraher │ Mathematica │ 31 │ -1 │ 3 │
├──────┼─────────────────┼──────────────┼─────────┼────────┼───────┤
│ 6 │ tmartin │ Q │ 34 │ 2 │ 1 │
├──────┼─────────────────┼──────────────┼─────────┼────────┼───────┤
│ 7 │ daniero │ dc │ 35 │ 3 │ 1 │
├──────┼─────────────────┼──────────────┼─────────┼────────┼───────┤
│ 8 │ psion5mx │ Python │ 38 │ 6 │ 2 │
├──────┼─────────────────┼──────────────┼─────────┼────────┼───────┤
│ 9 │ O-I │ Ruby │ 39 │ 7 │ 5 │
├──────┼─────────────────┼──────────────┼─────────┼────────┼───────┤
│ 10 │ gggg │ Julia │ 40 │ 8 │ 1 │
├──────┼─────────────────┼──────────────┼─────────┼────────┼───────┤
│ 11 │ FakeRainBrigand │ LiveScript │ 50 │ 18 │ 0 │
├──────┼─────────────────┼──────────────┼─────────┼────────┼───────┤
│ 12 │ Sylwester │ Perl5 │ 50 │ 18 │ 2 │
├──────┼─────────────────┼──────────────┼─────────┼────────┼───────┤
│ 13 │ daniero │ Ruby │ 55 │ 23 │ 1 │
├──────┼─────────────────┼──────────────┼─────────┼────────┼───────┤
│ 14 │ vasuakeel │ Coffeescript │ 57 │ 25 │ 1 │
├──────┼─────────────────┼──────────────┼─────────┼────────┼───────┤
│ 15 │ dirkk │ XQuery │ 63 │ 31 │ 0 │
├──────┼─────────────────┼──────────────┼─────────┼────────┼───────┤
│ 16 │ crazedgremlin │ Haskell │ 64 │ 32 │ 0 │
├──────┼─────────────────┼──────────────┼─────────┼────────┼───────┤
│ 17 │ Uri Agassi │ Ruby │ 66 │ 34 │ 1 │
├──────┼─────────────────┼──────────────┼─────────┼────────┼───────┤
│ 18 │ Sumedh │ JAVA │ 67 │ 35 │ 0 │
├──────┼─────────────────┼──────────────┼─────────┼────────┼───────┤
│ 19 │ Danny │ Javascript │ 67 │ 35 │ 0 │
├──────┼─────────────────┼──────────────┼─────────┼────────┼───────┤
│ 20 │ deroby │ c# │ 69 │ 37 │ 1 │
├──────┼─────────────────┼──────────────┼─────────┼────────┼───────┤
│ 21 │ Adam Speight │ VB │ 70 │ 38 │ 0 │
├──────┼─────────────────┼──────────────┼─────────┼────────┼───────┤
│ 22 │ Andrakis │ Erlang │ 82 │ 50 │ 0 │
├──────┼─────────────────┼──────────────┼─────────┼────────┼───────┤
│ 23 │ Sp0T │ PHP │ 85 │ 53 │ 0 │
├──────┼─────────────────┼──────────────┼─────────┼────────┼───────┤
│ 24 │ brendanb │ Clojure │ 87 │ 55 │ 0 │
├──────┼─────────────────┼──────────────┼─────────┼────────┼───────┤
│ 25 │ Merin Nakarmi │ C# │ 174 │ 142 │ 0 │
├──────┼─────────────────┼──────────────┼─────────┼────────┼───────┤
│ 26 │ Boopathi │ JAVA │ 517 │ 485 │ 0 │
├──────┼─────────────────┼──────────────┼─────────┼────────┼───────┤
│ 27 │ Noyo │ ES6 │ ? │ ? │ 2 │
├──────┼─────────────────┼──────────────┼─────────┼────────┼───────┤
│ 28 │ shiona │ Haskell │ ? │ ? │ 0 │
├──────┼─────────────────┼──────────────┼─────────┼────────┼───────┤
│ 29 │ Vivek │ int │ ? │ ? │ 0 │
└──────┴─────────────────┴──────────────┴─────────┴────────┴───────┘