นี่เป็นตำรวจและโจรหากคุณไม่คุ้นเคยกับรูปแบบให้คลิกแท็กเพื่อไปที่วิกิ จะไม่มีเธรดโจรสำหรับคำถามนี้
ตำรวจ
งานของคุณในฐานะตำรวจคือการเลือกสองซีเควนซ์จากOnline Encyclopedia of Integer Sequencesและเขียนโปรแกรมที่ใช้องค์ประกอบที่ n ของลำดับหนึ่งเป็นอินพุตและเอาต์พุตอิลิเมนต์ nth ของลำดับที่สอง จากนั้นคุณจะได้คำตอบรวมถึงรหัสและตัดการเรียงลำดับที่เลือกไว้ โจรจะพยายามที่จะหาลำดับที่คุณเลือกและหากมีการบริหารจัดการเพื่อหาลำดับที่คุณมีอยู่ในใจหรือบางส่วนลำดับอื่น ๆ สำหรับโปรแกรมที่คุณต้องทำเครื่องหมายคำตอบของคุณเป็นCracked หากโจรแจ้งคุณว่ามีรอยแตกที่คุณเชื่อว่าไม่ถูกต้องคุณอาจแสดงหลักฐานว่าไม่ใช่รอยแตก มิฉะนั้นคุณต้องทำเครื่องหมาย
ตามคำตอบปกติที่ไม่ได้ทำการแยกเป็นเวลา 7 วันจะมีสิทธิ์ทำเครื่องหมายว่าปลอดภัย ตำรวจอาจทำเครื่องหมายคำตอบว่าปลอดภัยโดยเปิดเผยลำดับที่มีอยู่ในใจ เมื่อปลอดภัยแล้วคำตอบอาจไม่แตกอีกต่อไป
เป้าหมายคือลดจำนวนไบต์ของโปรแกรมให้เหลือน้อยที่สุดในขณะที่ยังไม่ได้แยกออก
ตัวอย่าง
รหัสไพ ธ อนต่อไปนี้แปลองค์ประกอบที่ n ของA000290 (หมายเลขสแควร์) เป็นA000217 (หมายเลขรูปสามเหลี่ยม):
lambda x:sum(range(0,int(x**.5+1)))
ข้อกำหนดและข้อกำหนด
หากคุณเลือกลำดับที่ไม่ได้รับการพิสูจน์ว่ามีขอบเขตคุณต้องส่งออกคำศัพท์ทั้งหมดที่อาจมีอยู่ไม่ใช่เฉพาะรายการที่แสดงอยู่ในหน้า OEIS
เป็นข้อยกเว้นสำหรับภาษากฎก่อนหน้านี้ที่ไม่มีจำนวนเต็มความแม่นยำไม่ จำกัด ไม่จำเป็นต้องส่งออกหรือใส่หมายเลขที่อยู่นอกช่วง
ขนาดของลำดับการป้อนข้อมูลของคุณจะต้องไม่ได้รับการพิสูจน์แล้วว่ามีขนาดเล็กกว่าลำดับเอาต์พุต
ลำดับการป้อนข้อมูลของคุณจะต้องไม่มีองค์ประกอบการทำซ้ำใด ๆ (มิฉะนั้นงานจะเป็นไปไม่ได้สวยมาก)
OEIS รวมดัชนีในหน้าของพวกเขา (หมายเลขแรกหลังส่วนหัว "OFFSET") โดยค่าเริ่มต้นนี่คือออฟเซ็ตของคุณสำหรับ n (n เท่ากับดัชนีสำหรับองค์ประกอบแรกในลำดับ) หากคุณเลือกดัชนีอื่นคุณต้องระบุใน คำตอบของคุณ.
หากคุณเลือกออฟเซ็ตที่แตกต่างจากที่ระบุไว้ใน OEIS คุณจะต้องแมปองค์ประกอบทั้งหมดในลำดับการป้อนข้อมูลของคุณกับองค์ประกอบที่เกี่ยวข้องในลำดับผลลัพธ์ของคุณ
หากโปรแกรมของคุณได้รับอินพุตที่ไม่ได้อยู่ในลำดับอินพุตมันอาจทำอะไรก็ได้ตามที่ต้องการ (พฤติกรรมที่ไม่ได้กำหนด) อย่างไรก็ตามอาจเป็นไปได้ว่าคุณจะยังคงเอาท์พุทเป็นจำนวนเต็ม
เป็นเรื่องที่ไม่น่าไว้ใจที่จะทำให้โค้ดของคุณยากที่จะรันไม่ว่าจะโดยการทำให้เสียเวลาในการเรียกใช้งานหรือผ่านการเลือกภาษาที่ไม่ต้องเสียค่าใช้จ่าย ในขณะที่ฉันจะบังคับใช้หลังฉันไม่สามารถบังคับอดีตอย่างเป็นกลาง อย่างไรก็ตามฉันขอร้องคุณเพื่อความสนุกอย่าพยายามทำแบบเดิมเพราะมันทำให้ความท้าทายยากขึ้นโดยเฉพาะสำหรับผู้ที่มีคอมพิวเตอร์ที่อ่อนแอกว่า
โจร
งานของคุณในฐานะโจรคือการเลือกคำตอบที่ไม่ปลอดภัยและไม่ปลอดภัยและค้นหาลำดับที่พวกเขาจับคู่กัน หากคุณพบทางออกโซลูชันที่ใช้งานได้ (ไม่จำเป็นต้องเป็นโซลูชันที่ตั้งใจไว้ของตำรวจ) แสดงความคิดเห็นลำดับในคำตอบที่เหมาะสม
โจรไม่ควรกังวลมากนักเกี่ยวกับการตรวจสอบว่ามีสองลำดับเฉพาะเป็นวิธีการแก้ปัญหาหนึ่งควรโพสต์โซลูชั่นหากมันตรงกับรายการทั้งหมดใน OEIS หากนั่นไม่ใช่ลำดับที่ตำรวจมีในใจตำรวจอาจเสนอหลักฐานว่ามันไม่ถูกต้องหรือทำเครื่องหมายว่าแตกได้หากไม่พบ