ความท้าทาย
ความท้าทาย "สายลับกับสายลับ" ที่เรียบง่าย
เขียนโปรแกรมด้วยข้อกำหนดต่อไปนี้:
- โปรแกรมอาจเขียนเป็นภาษาใดก็ได้ แต่ต้องไม่เกิน 512 ตัวอักษร (ตามที่แสดงในบล็อกรหัสบนเว็บไซต์นี้)
- โปรแกรมต้องยอมรับจำนวนเต็ม 32- บิตที่ได้รับการรับรอง 5 รายการเป็นอินพุต มันสามารถใช้รูปแบบของฟังก์ชั่นที่ยอมรับข้อโต้แย้ง 5 ฟังก์ชั่นที่ยอมรับอาร์เรย์ 5 องค์ประกอบเดียวหรือโปรแกรมสมบูรณ์ที่อ่านจำนวนเต็ม 5 ตัวจากอินพุตมาตรฐานใด ๆ
- โปรแกรมจะต้องส่งออกจำนวนเต็ม 32 บิตแบบมีลายเซ็นหนึ่งรายการ
- โปรแกรมจะต้องส่งคืน 1 ถ้าหากทั้งห้าอินพุตตีความเป็นลำดับตรงกับลำดับเลขคณิตเฉพาะของการเลือกโปรแกรมเมอร์เรียกว่า "กุญแจ" ฟังก์ชันต้องส่งคืน 0 สำหรับอินพุตอื่นทั้งหมด
ลำดับเลขคณิตมีคุณสมบัติที่แต่ละองค์ประกอบที่ต่อเนื่องของลำดับนั้นเท่ากับบรรพบุรุษของมันบวกค่าคงที่คงที่ a
ลำดับเลขคณิตมีคุณสมบัติที่แต่ละองค์ประกอบต่อเนื่องของลำดับเท่ากับบรรพบุรุษของมันบวกบางคงที่คงที่
ตัวอย่างเช่น25 30 35 40 45
เป็นลำดับเลขคณิตเนื่องจากแต่ละองค์ประกอบของลำดับนั้นเท่ากับบรรพบุรุษของมันบวก 5 เช่นเดียวกัน17 10 3 -4 -11
เป็นลำดับเลขคณิตเนื่องจากแต่ละองค์ประกอบมีค่าเท่ากับ precessor บวก -7
ลำดับ1 2 4 8 16
และ3 9 15 6 12
ไม่ใช่ลำดับเลขคณิต
คีย์อาจเป็นลำดับเลขคณิตใด ๆ ที่คุณเลือกโดยมีข้อ จำกัด แต่เพียงผู้เดียวที่ไม่อนุญาตให้ใช้ลำดับที่เกี่ยวข้องกับการล้นจำนวนเต็ม นั่นคือลำดับจะต้องเพิ่มขึ้นอย่างเข้มงวดลดลงอย่างเคร่งครัดหรือมีองค์ประกอบทั้งหมดเท่ากัน
ตัวอย่างเช่นสมมติว่าคุณเลือกกุญแจ 98021 93880 89739 85598 81457
ตัวอย่างเช่นสมมติว่าคุณเลือกที่สำคัญโปรแกรมของคุณจะต้องส่งคืน 1 หากอินพุต (ตามลำดับ) ตรงกับตัวเลขห้าตัวนี้และ 0 เป็นอย่างอื่น
โปรดทราบว่าวิธีการป้องกันกุญแจควรเป็นของการออกแบบใหม่ของคุณเอง นอกจากนี้ยังไม่อนุญาตให้ใช้วิธีแก้ไขความน่าจะเป็นที่ส่งกลับผลบวกปลอมด้วยความน่าจะเป็นที่ไม่ใช่ศูนย์ โดยเฉพาะอย่างยิ่งโปรดอย่าใช้แฮชเข้ารหัสลับมาตรฐานใด ๆ รวมถึงฟังก์ชั่นห้องสมุดสำหรับแฮชเข้ารหัสลับมาตรฐาน
เกณฑ์การให้คะแนน
การส่งที่ไม่แตกสั้นที่สุดต่อจำนวนตัวละครจะถูกประกาศให้เป็นผู้ชนะ
หากมีความสับสนใด ๆ โปรดอย่าลังเลที่จะถามหรือแสดงความคิดเห็น
การท้าทาย
ผู้อ่านทุกคนรวมถึงผู้ที่ส่งโปรแกรมของตัวเองได้รับการสนับสนุนให้ "ส่งเสียงดัง" การส่งจะแตกเมื่อคีย์ของมันถูกโพสต์ในส่วนความคิดเห็นที่เกี่ยวข้อง หากการส่งยังคงมีอยู่เป็นเวลา 72 ชั่วโมงโดยไม่มีการดัดแปลงหรือแตกมันจะถือว่า "ปลอดภัย" และความสำเร็จใด ๆ ที่ตามมาในการถอดรหัสจะถูกเพิกเฉยเพราะการประกวด
ดู "ข้อจำกัดความรับผิดชอบ" ด้านล่างสำหรับรายละเอียดเกี่ยวกับนโยบายคะแนนการแคร็กที่อัปเดตแล้ว
การส่งที่แคร็กจะถูกกำจัดออกจากการแข่งขัน (หากไม่ปลอดภัย) ไม่ควรแก้ไข หากผู้อ่านต้องการส่งโปรแกรมใหม่เขาควรตอบด้วยคำตอบที่แยกต่างหาก
แคร็กเกอร์ที่มีคะแนนสูงสุดจะถูกประกาศให้กับผู้ชนะพร้อมกับผู้พัฒนาโปรแกรมที่ชนะ
โปรดอย่าถอดรหัสของคุณเอง
ขอให้โชคดี :)
ลีดเดอร์บอร์ด
อันดับสุดท้าย (ความปลอดภัยที่รอการอนุมัติจากการส่งของ CJam 49 ของเดนนิส)
ตู้เก็บของที่ปลอดภัย
- CJam 49, เดนนิส
- CJam 62, เดนนิส ปลอดภัย
- CJam 91, เดนนิส ปลอดภัย
- Python 156, Maarten Baert อย่างปลอดภัย
- Perl 256, chilemagic ปลอดภัย
- Java 468, Geobits ปลอดภัย
แคร็กเกอร์ผ่านพ้นไม่ได้
- Peter Taylor [Ruby 130, Java 342, Mathematica 146 *, Mathematica 72 *, CJam 37]
- เดนนิส [Pyth 13, Python 86 *, Lua 105 *, GolfScript 116, C 239 *]
- Martin Büttner [Javascript 125, Python 128 *, Ruby 175 *, Ruby 249 *]
- Tyilo [C 459, Javascript 958 *]
- freddieknets [Mathematica 67 *]
- Ilmari Karonen [Python27 182 *]
- ไนตรัส [C 212 *]
* การส่งที่ไม่เป็นไปตามข้อกำหนด
ข้อจำกัดความรับผิดชอบ (อัปเดตเมื่อ 15:30 น. EST, 26 สิงหาคม)
ด้วยปัญหาการให้คะแนนในที่สุดก็มาถึงมวลวิกฤต (เนื่องจากสองในสามของการแคร็กที่ส่งมานั้นไม่เป็นไปตามข้อกำหนด) ฉันได้จัดอันดับแครกเกอร์อันดับหนึ่งในแง่ของจำนวนการส่งที่แคร็ก (หลัก) และจำนวนอักขระทั้งหมดในการส่งแคร็กที่สอดคล้อง (รอง)
ก่อนหน้านี้ผลงานที่ส่งเข้ามาจะแตกความยาวของผลงานและสถานะที่เป็นไปตามข้อกำหนด / ไม่ตรงตามข้อกำหนดทั้งหมดจะถูกทำเครื่องหมายเพื่อให้ผู้อ่านอาจอนุมานการจัดอันดับของตนเองหากพวกเขาเชื่อว่าการจัดอันดับอย่างเป็นทางการใหม่นั้นไม่ยุติธรรม
ฉันขอโทษที่แก้ไขกฎนี้ในช่วงปลายเกม