โซ่กอล์ฟ (ด้ายของตำรวจ)


13

นี่คือความท้าทาย Cops และ Robbers สำหรับด้ายโจรไปที่นี่

ตำรวจมีสามภารกิจ
1) เลือกลำดับจากที่OEIS

2) เลือกภาษา (แนะนำให้ใช้กับ golflang แต่ไม่จำเป็นต้องเป็น) ซึ่งเมื่อป้อนข้อมูลnแล้วเอาต์พุตA(n)(ซึ่งA(n)เป็นลำดับที่เลือก) โดยใช้กฎการทั้งหมดตามปกติ
เรียกภาษานี้LและรหัสC
ยกตัวอย่างเช่นเยลลี่และJelly_code

3) จากนั้นเลือกภาษาอื่น (แนะนำให้เป็นแบบ non-golflang แต่ไม่จำเป็นต้องเป็น) และเขียนรหัสที่ไม่มีอินพุตและเอาต์พุตรหัสC Aอีกครั้งปฏิบัติตามกฎของ(หมายเหตุ: นี้สามารถ obfuscated รหัสและไม่จำเป็นต้องมีการแข็งแรงเล่นกอล์ฟ แต่อีกต่อไปรหัสนี้ได้ง่ายขึ้นมันก็จะเป็นโจรที่จะแตกส่งของคุณ.)
โทรนี้ภาษาL BและรหัสC B
ยกตัวอย่างเช่นงูหลามและPython_code

การส่ง Cop ของการท้าทายนี้เป็นลำดับ (ระบุว่า 0- หรือ 1-indexed), ชื่อของสองภาษาL AและL B (และอันที่แก้ส่วนใดส่วนหนึ่ง) และนับไบต์ของC Bเท่านั้น เก็บรหัสจริงของทั้งสองส่วนและความยาวของC A เป็นความลับ

สำหรับตำรวจลิงค์ไปยังเอกสารสำหรับL AและL Bหรือล่าม (หรือลิงค์ TIO เนื่องจากมีทั้งสองอย่าง) แต่ไม่จำเป็นต้องชื่นชม

ความท้าทายของ Robber คือการเลือกรายการตำรวจและเขียนรหัสC CในภาษาL Bเดียวกันที่ส่งออกบางรหัสในภาษาL Aเดียวกันที่แก้งาน OEIS ต้นฉบับ ความยาวของC Cไม่เกินความยาวของC Bตามที่ตำรวจเปิดเผย (แม้ว่าอาจจะสั้นกว่า) หมายเหตุ: รหัสที่ผลิตโดยซีซีไม่ไม่จำเป็นต้องตรงกับC

สำหรับตัวอย่างของเรานี่หมายความว่า Robber จะต้องเขียนโค้ดPythonที่ส่งออกรหัสJellyที่แก้ลำดับ OEIS ดั้งเดิมและรหัสPythonนั้นจะต้องไม่เกินความยาวที่ Cop เปิดเผย

เงื่อนไขการชนะ

คำตอบที่ยังไม่ได้รับการแตกในสัปดาห์สามารถมีการแก้ปัญหาของพวกเขาเผยให้เห็นจุดที่พวกเขาจะถือว่าปลอดภัย โปรดทราบว่าหากคุณไม่เปิดเผยวิธีแก้ปัญหาหลังจากผ่านไปหนึ่งสัปดาห์ก็ยังสามารถแตกได้ ตำรวจพร้อมคำตอบที่ปลอดภัยที่สั้นที่สุดชนะ


เตือนฉันถึงcodegolf.stackexchange.com/q/128065/46066
juniorRubyist

เรารักษาความลับของ OEIS หรือไม่?
juniorRubyist

@juniorRubyist ไม่ Cop ต้องระบุลำดับที่ใช้และไม่ว่าจะเป็นดัชนี 0- หรือ 1
AdmBorkBork

คำตอบ:


3

OEIS A000041 , ถูกแคร็กโดยETHproductions

ลองอีกทางหนึ่ง: golflang สร้าง non-golflang

a (n) = จำนวนพาร์ติชันของn (หมายเลขพาร์ติชัน)

  • (n) (0 ดัชนี) ถูกส่งกลับโดยฟังก์ชันJavaScript (ES6)
  • โปรแกรมที่ส่งออกฟังก์ชั่น JS ถูกเขียนในเยลลี่
  • ความยาวของโปรแกรม Jelly คือ35 ไบต์

แนวทางแก้ไขปัญหา

เยลลี่: “¦ṚoIwƭ- ḊFæSḂ¥¶Ẉ|ḊJƓƝʋnrB⁾’b28+40Ọ

เอาท์พุต

JS:C=(A,B=A)=>A<0?0:A?B?C(A,B-1)+C(A-B,B):0:1


Cracked มันสนุกมากแม้ว่าฉันจะเสียเวลาไปสองสามชั่วโมง :-)
ETHproductions

@ ETHproductions ดีมาก! โซลูชัน JS ของฉันใช้ช่วงอักขระที่ จำกัด เพื่อให้สามารถบีบอัดเป็นจำนวนเต็ม 28 ฐานในด้านเยลลี่
Arnauld

@ETHproductions Man ฉันควรใช้เวลาในการปรับรหัส JS ให้เหมาะสม นี่คือวิธีแก้ปัญหา31 ไบต์ ¯ \ _ (ツ) _ / ¯
Arnauld

2

OEIS A048272 , แตกโดยDJMcMayhem

จำนวนตัวหารคี่ของnลบจำนวนตัวหารคู่ของn (ดัชนี 1 รายการ)

  • โปรแกรมที่เอาท์พุทA (n)ที่เขียนใน05AB1E
  • โปรแกรมที่ส่งออกโปรแกรม 05AB1E นั้นเขียนขึ้นในBrain-Flak + การ-Aตั้งค่าสถานะ
  • ความยาวของโปรแกรม Brain-Flak คือ198 ไบต์ (จำนวนไบต์ไม่รวมแฟล็ก)

โปรดทราบว่าฉันอาจจะเล่นกอล์ฟโปรแกรม Brain-Flak ได้อย่างง่ายดายโดยใช้เทคนิคการจัดเรียงซ้อนและเทคนิค kolmogorov อื่น ๆ ที่ซับซ้อนที่ฉันรับรู้ แต่ฉันต้องการทำให้เกมนี้เรียบง่ายเหมือนการส่งครั้งแรกของฉัน ขอให้โชคดีโจร!

สิ่งที่ฉันมีอยู่ในใจ

05AB1E: ÑÈD<)O(O

Brain-Flak:(((((((((((()()()){}){}){({}[()])}{}())[((((()()()){}){}())){}{}])((((()()()){}){}())){}{})[((((()()()){}){})()){}{}])(((()()()){})){}{}())(()()()()){})(((((()()()()){}){}){}()){}){})((()()())){}{})



@DJMcMayhem :( ฉันเพิ่งเสร็จสิ้น
HyperNeutrino

@DJMcMayhem ดีมาก! ฉันจะลองทำสิ่งที่ยากขึ้นอีกเล็กน้อย
นาย Xcoder

2

OEIS 000035 , แตกโดยbetseg

ปัญหาจะแก้ไขในโปรตอน
รหัสโปรตอนเป็นผลลัพธ์จากงูใหญ่
ความยาวของโปรแกรมงูหลามเป็น13 ไบต์

ง่ายมากสำหรับผู้เริ่ม (ถ้าคุณรู้จัก Proton: D) ศูนย์การจัดทำดัชนี

แนวทางแก้ไขปัญหา

Python: print("(2%)")
Proton: (2%)
ถึงแม้ว่าฉันจะตัดสินใจให้n=>n%2สั้นพอเพราะทางลัดของฟังก์ชั่น dyadic / monadic นั้นไม่มีการบันทึกไว้


7
ง่ายมากถ้าคุณรู้ภาษาที่ดูเหมือนจะมีเอกสารที่ไม่ต้องศูนย์ ใช่เยี่ยมมาก
Peter Taylor

3
ทำไมลิงค์ถึง A34 ...
user202729


@ user202729 ขอบคุณคง
HyperNeutrino

@PeterTaylor แม่นยำศูนย์มีเพียงพอที่นี่สำหรับคุณที่จะแก้มัน ...
HyperNeutrino


1

OEIS A055642 , แตกโดยลินน์

จำนวนหลักในการขยายทศนิยมของ n

นี่อาจจะง่ายเกินไป แต่ฉันใช้เวลาสักครู่ดังนั้นฉันหวังว่าจะมีใครบางคนออกมาที่นั่นจะผิดหวังเหมือนฉันเมื่อฉันคิดออกในที่สุด: D

  • โปรแกรมที่เขียนa (n)เขียนใน05AB1E
  • โปรแกรมที่พิมพ์โปรแกรม 05AB1E นั้นเขียนเป็นTeX
  • โปรแกรม TeX ยาว6 ไบต์

สิ่งที่ฉันมีอยู่ในใจ:

Sgเป็นรหัส 05AB1E
Sg\byeเป็นรหัส TeX



1
@ ลินน์ใช่ คุณผิดหวังแค่ไหน
Simon Klaver

1

OEIS A000668 , แตกโดยลินน์

Mersenne primes (ของฟอร์ม2 p -1โดยที่pคือไพร์ม)

  • (n)ถูกเอาต์พุตโดยโปรแกรมJellyเต็มรูปแบบ
  • nถูกทำดัชนี 1 รายการ
  • โปรแกรม Jelly ถูกพิมพ์โดยTriangularityโปรแกรมมีความยาว38 ไบต์

กลยุทธ์ที่แตกต่าง: แก้ไขลำดับในสนามกอล์ฟแล้วส่งออกโปรแกรมใน esolang

แนวทางแก้ไขปัญหา


คุณแน่ใจว่าความยาวถูกต้องหรือไม่ เอกสารกล่าวว่าโปรแกรมรูปสามเหลี่ยมต้องมีความยาว2*n^2 - 1ซึ่งไม่สามารถเป็น 38 ได้
Lynn

1
@Lynn นั่นหมายถึงการนับจำนวนตัวอักษรไม่นับไบต์
นาย Xcoder

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.