Transformers in Disguise (ด้ายตำรวจ)


10

เธรดของโจรอยู่ที่นี่

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

กฎ:

  • ส่งประกอบด้วย
    • ชื่อภาษา
      • หากมีการใช้ธงใด ๆ พวกเขาควรจะเปิดเผย
    • จำนวนไบต์ของโปรแกรม
    • จำนวนไบต์ของเอาต์พุต
    • เอาท์พุต
      • หากมีความยาวเป็นพิเศษโปรดระบุ pastebin หรือสิ่งที่คล้ายกัน
      • ถ้ามันมี unprintables โปรดระบุ hexdump
      • การขึ้นบรรทัดใหม่และช่องว่างต่อท้ายควรรวมอยู่ในผลลัพธ์
    • ตำแหน่งที่อินพุตมาจาก (STDIN, บรรทัดคำสั่งฯลฯ )
  • หากเหมาะสมคุณอาจสันนิษฐานว่าไบต์ที่แทน EOF ไม่มีอยู่ในอินพุตนอกจากว่าคุณใช้ไบต์นั้นในโปรแกรมของคุณ
  • หากโปรแกรมของคุณแตกให้เพิ่มลิงก์ไปยังคำตอบที่เกี่ยวข้องในเธรดของโจรในหัวข้อของคุณ
  • โปรแกรมของคุณไม่ปลอดภัยจนกว่าจะผ่านไปหนึ่งสัปดาห์และคุณทำเครื่องหมายไว้
  • ฉันไม่ยอมรับเทคนิคต่าง ๆ เช่นการสุ่มเลือกด้วยฟังก์ชันอินพุตหรือการเข้ารหัสลับ ฉันไม่สามารถหยุดพวกเขา แต่ฉันจะไม่ยอมรับวิธีการแก้ปัญหาที่ใช้อย่างใดอย่างหนึ่งของเหล่านี้ นอกจากนี้โปรดทราบว่าเทคนิคเหล่านี้บางอย่างอาจมีการชนกันโดยที่สตริงที่แตกต่างกันจะสร้างเอาต์พุตเดียวกัน
  • เป้าหมายของคุณคือให้ได้ผลลัพธ์ที่สั้นที่สุด ทางออกที่ปลอดภัยที่สั้นที่สุดที่โพสต์ภายในสามสัปดาห์นับจากวันที่โพสต์คำถามนี้ชนะ!

งานของโจรคือการหาโปรแกรมที่มีขนาดเท่ากับหรือน้อยกว่าต้นฉบับซึ่งเป็นไปตามกฎข้างต้น

หากโจรปล้นโปรแกรมของคุณด้วยโซลูชันที่แตกต่างจากที่ตั้งใจไว้คุณมีโอกาสที่จะ 'แกะ' โดยการพิสูจน์ว่าโซลูชันของโจรนั้นไม่ถูกต้อง คุณสามารถทำได้โดยค้นหาอินพุตไปยังโปรแกรมของ robber ที่จะสร้างเอาต์พุตเดียวกัน

ส่งตัวอย่าง:

brainfuck, 10 ไบต์, คะแนน: 10

]<.[<],>[,

วิธีนี้คือ[>,] <[. <]ซึ่งจะย้อนกลับอินพุต

โชคดี!


"ถ้าโปรแกรมได้รับอินพุตที่แตกต่างกันก็ควรส่งคืนเอาต์พุตอื่น" นี่หมายความว่าโปรแกรมไม่ควรเอาท์พุทแบบเดียวกันกับอินพุตอื่นหรือไม่? หรือหมายความว่าโปรแกรมไม่ควรเอาท์พุทอย่างต่อเนื่องโดยไม่คำนึงถึงอินพุท? (มีอยู่อินพุตไม่เท่ากับตัวเอง, กับ, FORALL อินพุตไม่เท่ากับตัวเอง, ส่งคืนเอาต์พุตอื่น)
tsh

@tsh เฉพาะอินพุตของตัวเองเท่านั้นที่จะต้องมีเอาต์พุตที่ไม่ซ้ำกัน ตัวอย่างเช่นการส่งที่ถูกต้องอาจเป็นโปรแกรมการระบุ1ตัวเองซึ่งผลสำหรับตัวเองและ0อื่น ๆ
Jo King

@JoKing ดังนั้นการส่ง Python 3 ของคุณจึงไม่ถูกต้อง? เพราะมันส่งสัญญาณ1021111143210532105110321051101121171164041581121141051101164011111410040105414410111010061393941เสียงแบบสตริงอื่น ๆ ด้วย
Lynn

@ ลินน์คุณพูดถูก ฉันได้ลบตัวอย่างนั้นแล้ว
Jo King

คำตอบ:


4

7 , 31 ตัวอักษร, คะแนน 30, ปลอดภัย แต่อาจหักได้หรือไม่

โดยปกติแล้วโปรแกรม 7 เป็นเพียงตัวเลข แต่มันสามารถมีช่องว่างแยกออกเป็นหลาย ๆ หมายเลขได้ ดังนั้นการส่งนี้ประกอบด้วยตัวเลขสองตัว (ซึ่งมีการเชื่อมต่อกันอย่างชัดเจนโดยล่าม 7 ตัว) และโปรแกรมก็ใช้ตัวเลขสองตัวเป็นอินพุตโดยใช้อินพุตมาตรฐาน ("31 ตัวอักษร" ในส่วนหัวคือความยาวทั้งหมดของตัวเลขสองตัวบวกหนึ่งตัวคั่นช่องว่างตัวเลขที่ประกอบเป็นตัวเลขจะถูกตีความว่าเป็นฐานแปดเมื่อใช้เป็นโปรแกรม แต่เป็นทศนิยมเมื่อใช้เป็นอินพุตและ เป็นตัวเลขที่เหมือนกันในสองกรณีไม่ใช่ตัวเลขจริงโปรดทราบว่ามันไม่เกี่ยวข้องอย่างใดอย่างหนึ่งเมื่อถือว่าเป็นโปรแกรมหรือเมื่อถือว่าเป็นข้อมูลเข้าไม่ว่าคุณจะแยกพวกเขาด้วยช่องว่างหรือขึ้นบรรทัดใหม่ฉันหวังว่ามันจะไม่ ไม่ทำให้การส่งเป็นโมฆะ)

ผลลัพธ์ที่คาดหวังคือตัวเลขต่อไปนี้ (แสดงที่นี่เป็นทศนิยมเนื่องจากเป็นรูปแบบเอาต์พุตที่ล่าม 7 รายใช้):

238363505302130098723162537059

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

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

สารละลาย

โปรแกรมเดิมคือ:

711170237403706
111723603700633
โปรแกรมนี้ใช้ตัวเลขสองตัวxและYและคำนวณผลลัพธ์ของนิพจน์3xY-Y-2 (เช่นY(3x-1)-2 ) ถ้าเราดำเนินการคำนวณนี้ที่x=711170237403706และY=111723603700633 , เราได้รับผลจากการ238363505302130098723162537059ตามที่ต้องการ

มันตั้งใจที่จะไม่มีการป้อนข้อมูลอื่นจะให้ผลลัพธ์ที่ต้องการเพราะ:

อินพุตต้องถูกเลือกเช่นY(3x-1)-2=238363505302130098723162537059เช่นY(3x-1)=238363505302130098723162537061 (เพิ่ม 2 ทั้งสองด้าน) ตัวเลขนี้เป็นตัวเลข semiprime ที่มีเพียงสองปัจจัย: 111723603700633และ21335107122111172133510712211117มีเพียงหนึ่งในตัวเลขเหล่านี้2133510712211117เท่านั้นที่สามารถแสดงในรูปแบบ3x-1 (ให้(3×711170237403706)-1=2133510712211117 ) ดังนั้นเราสามารถระบุได้ว่าหมายเลขใดคือxและYซึ่งหมายความว่าอินพุตเดียวใช้ได้

อย่างไรก็ตามขึ้นอยู่กับวิธีที่คุณตีความคำถามอาจมีอินพุตที่สองที่สร้างเอาต์พุตที่ต้องการ (ดังนั้นการทำให้โซลูชันนี้ไม่ถูกต้อง):

น่าเสียดายที่มีพาร์ติชัน multiplicative ของ semiprime เป็นสองปัจจัยคือหนึ่งแบ่งเป็นสองปัจจัยหลัก แต่อีกพาร์ติชั่นหนึ่งคือพาร์ทิชันเล็ก ๆ ที่ประกอบด้วย1และจำนวนของมันเอง 1ไม่สามารถเขียนในรูปแบบ3x-1มีจำนวนเต็มxแต่เอาต์พุตที่ต้องการสามารถเป็นได้; จึงมีศักยภาพเมตาแตกเกี่ยวข้องกับการให้การป้อนข้อมูลที่เป็น79454501767376699574387512354และ11อย่างไรก็ตามตัวเลขแรกที่นี่เกี่ยวข้องกับอักขระ ( 8และ9) ซึ่งไม่ได้อยู่ในชุดอักขระสำหรับ 7 โปรแกรม ดังนั้นหากอินพุตถูก จำกัด ให้อยู่ในชุดอักขระเดียวกันกับโปรแกรมโซลูชันนี้จะใช้ได้ แต่ถ้าอนุญาตให้ป้อนข้อมูลด้วยอักขระจากภายนอกชุดอักขระของโปรแกรมโซลูชันนี้จะไม่ถูกต้อง

คำอธิบาย

นี่คือวิธีที่โซลูชันที่ตั้งใจทำงาน:

711170237403706 111723603700633
7 7 7 ตัวแยกองค์ประกอบสแต็ก
 111 023 403706 111723603700633 องค์ประกอบสแต็กเริ่มต้น
 111 หมายเลข 3 ด้วยกัน
     023 I / O DSL สำหรับ "ใส่ตัวเลข"
         403706 111723603700633 โปรแกรมหลัก
(โดยนัย: ดำเนินการสำเนาขององค์ประกอบหลักของโปรแกรมโดยเก็บรักษาต้นฉบับ)
         40 สลับ {023} ด้านบน {โปรแกรม} หนีออกมา
           3 I / O ใช้ {023} หรือไม่ ป๊อป {โปรแกรม}
     0 I / O: ตัวเลข
      23 ป้อนหมายเลขคัดลอก {111} หลายครั้ง
            706 ต่อท้าย "6" ไปยังหมายเลข (ลดค่าลง)
                11 ดันองค์ประกอบสแต็กสองอันที่ว่างเปล่า
                  17236 กดองค์ประกอบสแต็ก "23" (ไม่ใช้ Escape)
                       0 Escape {23} ใช้องค์ประกอบที่ว่างเปล่า
                        3 I / O ใช้ {23} หรือไม่ ป๊อป {องค์ประกอบด้านล่าง}
                    23 คัดลอกด้านบนของอินพุตสแต็กหลายครั้ง
                         7006 ต่อท้าย "66" (เช่นลบ 2)
                             3 เอาท์พุท {เป็นตัวเลข}
                              3 ออกจากโปรแกรม (เนื่องจากสแต็คเหลือน้อย)
7 ชั้นนำและ 3 ต่อท้ายไม่จำเป็นสำหรับการทำงานของโปรแกรมพวกเขาอยู่ที่นั่นเพียงเพื่อให้ได้ปัจจัยสำคัญของผลลัพธ์ที่ถูกต้อง ช่วยในการติดตามโปรแกรมนี้หากคุณเข้าใจรูปแบบตัวเลข ตัวเลขจะถูกเก็บไว้ในตัวแปรเอกที่1และ7เพิ่มมูลค่าโดยที่ 1 และ0และ6ลดค่าโดยที่ 1 (จึงผนวก66ลดค่าลง 2, การทำซ้ำจำนวนคูณมัน, และอื่น ๆ ) อินพุตทำโดยการทำซ้ำองค์ประกอบสแต็ก (ดังนั้นหากองค์ประกอบสแต็กคือ12345และอินพุตคือ3องค์ประกอบสแต็กใหม่จะเป็น123451234512345 )


3

Node.js v10.9.0 , 40 ไบต์, คะแนน: 40, แคร็ก

อินพุต

นี่คือฟังก์ชันที่รับพารามิเตอร์หนึ่งตัว

เอาท์พุต

&`nij.9=j.,)r31n=+(=ooj`[o.o.)1.s](>=6>t

ฉันสามารถจัดเรียงใหม่o=>[...j=o,].sort(n=>(j+=113)&69).join`` แต่jไม่สามารถไปที่จำนวนเต็ม
l4m2

Cracked นั่นสนุกมาก :-)
ETHproductions

3

ต้นแพร์ , 46 ไบต์ของ ASCII, คะแนน 0, แคร็ก

อินพุตถูกนำมาจากอินพุตมาตรฐาน เอาต์พุตที่คาดหวัง (บนเอาต์พุตมาตรฐาน) คือสตริงว่าง (เช่นเมื่อโปรแกรมกำหนดเป็นอาร์กิวเมนต์ไม่ควรพิมพ์เอาต์พุต)

กล่าวอีกนัยหนึ่งความท้าทายที่นี่คือการเขียนโปรแกรม A Pear Tree ที่ไม่เอาท์พุทอะไรบนเอาต์พุตมาตรฐานเมื่อให้ตัวเองกับอินพุตมาตรฐานและที่เอาท์พุทบางสิ่งบางอย่างในเอาต์พุตมาตรฐานเมื่อให้สิ่งอื่นนอกเหนือจากตัวเองในอินพุตมาตรฐาน มากกว่า 46 ไบต์ (ฉันพยายามทำเช่นนี้ในขณะที่ถือโปรแกรมให้พิมพ์ ASCII ได้เช่นกันแม้ว่า A Pear Tree มักใช้อักขระที่ไม่ใช่ ASCII และอักขระที่ไม่สามารถพิมพ์ออกมาได้) นี่เป็นหน้าที่ของการเขียนโปรแกรมระบุตัวเองอย่างมีประสิทธิภาพด้วยรูปแบบเอาต์พุตเฉพาะ (เช่นสตริง null เมื่อการระบุตัวเองสำเร็จ); อย่างไรก็ตามต้นไม้ต้นแพร์มีอย่างน้อยสองบิดที่ทำให้งานค่อนข้างยากกว่าเมื่อดูในภาษาเฉพาะนี้ (ซึ่งเป็นเหตุผลที่ฉันเลือกมันสำหรับการส่งตำรวจของฉัน)

ทางออกของฉัน

โซลูชันของฉันแตกต่างจากรอยแตกเล็กน้อย:

eval(k=q(print$\=$_="eval(k=q($k))"ne$_;MZpa))

ลองออนไลน์!

แทนที่จะใช้exitฉันตั้งค่า$_(เอาต์พุตโดยนัย) และ$\(ขึ้นบรรทัดใหม่หลังเอาต์พุตรวมถึงเอาต์พุตโดยนัย) เป็นสตริง null หากมีการจับคู่ (และ1หากไม่มีการจับคู่) A printยังคงต้องใช้เนื่องจากเอาต์พุตโดยนัยเปิดใช้งานเฉพาะเมื่อมีอย่างน้อยหนึ่งไบต์ของอินพุต (ดังนั้นเราต้องพิมพ์อย่างชัดเจนหากเราได้รับสตริงว่างเปล่าเป็นอินพุตซึ่งแตกต่างจากโปรแกรม)

โปรแกรม A Pear Tree ทุกโปรแกรมจำเป็นต้องมีการตรวจสอบที่ใดที่หนึ่ง (นั่นคือMZpaในโซลูชันนี้) ทั้งโซลูชันของฉันและชื่อตัวแปรตัวเลือกการแคร็ก (และรายละเอียดเล็กน้อยอื่น ๆ ของรหัส) เพื่อให้การตรวจสอบประกอบด้วยตัวอักษร ASCII ทั้งหมด


1
Cracked
user202729

3

Perl 5 -p0777, 10 ไบต์, คะแนน 10, ปลอดภัย

W)9r46<(k

อักขระตัวสุดท้ายที่นี่คือ "shift out" รหัสอักขระ 14 (ฐานสิบ) / 0E (ฐานสิบหก) ส่วนอื่น ๆ ทั้งหมดนั้นสามารถพิมพ์ได้ ASCII

เนื่องจากเราใช้อาร์กิวเมนต์ I / O โดยนัยของ Perl -p0777อินพุตนั้นมาจากอินพุตมาตรฐานและเอาต์พุตไปยังเอาต์พุตมาตรฐาน

สารละลาย

โปรแกรมทำสิ่งต่อไปนี้:

NUL-pads อินพุตอย่างน้อย 10 อักขระจากนั้น XORs พร้อมกับสตริง svgOUT_TOP

ซึ่งหมายความว่าโปรแกรมนั้นอินพุตเพียงตัวเดียวที่สร้างเอาต์พุตที่ต้องการคือ:

$ _ ^ = abc | $ ^

ลองออนไลน์!

คำอธิบาย

Perl มีตัวแปรวัตถุประสงค์พิเศษจำนวนมาก ตัวอย่างเช่นเมื่อใช้-p0777สำหรับ I / O โดยนัย$_คืออินพุตที่จุดเริ่มต้นของโปรแกรมและเอาต์พุตเมื่อสิ้นสุดโปรแกรม

ตัวแปรเหล่านี้ส่วนใหญ่มีค่าเริ่มต้นที่ง่ายมาก อย่างไรก็ตามค่าเริ่มต้นของ$^รูปแบบบนสุดของหน้าที่เลือกในปัจจุบันคือสตริงที่ยาวกว่าSTDOUT_TOPมาก ด้วยเหตุนี้เราสามารถใช้วิธีนี้เป็นวิธีการทำให้งงงวยสั้นมากผ่าน XORing $^ด้วยค่าที่เราต้องการทำให้งงงวย (ในกรณีนี้โปรแกรม)

ในการซ่อนปากโป้ง_TOPในตอนท้ายฉันได้เสริมโปรแกรมด้วยอักขระ 10 ตัวผ่านการเพิ่มเข้าไปabc|ซึ่งหมายความว่าตัวละครทั้งหมดของSTDOUT_TOPXORed จะมีอะไรบางอย่าง ทางเลือกของabc|การเริ่มต้นนั้นเป็นวิธีที่ง่ายในการเก็บเอาท์พุทเป็นส่วนใหญ่พิมพ์ (และทำให้มันยากที่จะเห็นว่าฉัน XORing ด้วยสตริงที่ทำจากตัวพิมพ์ใหญ่เพราะใน ASCII ตัวพิมพ์เล็ก XOR เป็นตัวพิมพ์เล็ก)


3

Python 3, 50 ไบต์แตก

อินพุตและเอาต์พุตจาก / ถึง stdin / -out เอาต์พุตแตกต่างกันสำหรับอินพุตแต่ละอินพุต เอาต์พุตที่ไม่ซ้ำกันเมื่อกำหนดซอร์สโค้ด:

218216195196222130136136132192197195196130241204136209197216206130201131244155157154215136138204197216138201138195196138195196218223222130131247131131

(นั่นคือ 150 หลัก)

โชคดี!


อ๊ะ! ฉันเห็นแล้วว่าความท้าทายนี้ยาวนานกว่า ... แปลกที่มันโผล่ขึ้นมาในไทม์ไลน์ / ฟีดของฉัน อยากรู้ว่าใครตอบสนองต่อเรื่องนี้หรือไม่ ...
ทุก



2

Cubix , 18 ไบต์, คะแนน 18, ปลอดภัย

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

มันควรจะแตกง่าย

อินพุตจากstdin

เอาท์พุต

$`*2aJPJ#74(o);89

แก้ไข: ฉันควรพูดถึงว่าสิ่งนี้คาดหวังว่าแหล่งที่มาในรูปแบบที่สั้นลง ... และตอนนี้ฉันสังเกตเห็นว่ามีไบต์ที่ขาดหายไป (ไม่สามารถพิมพ์ได้) จากผลลัพธ์ที่ฉันทำลายเมื่อโพสต์ ควรคัดลอกออกตอนนี้ ค่าฐานสิบหกคือ24 60 2a 13 32 61 4a 50 4a 23 37 34 28 6f 29 3b 38 39

แนวคิดคือการลบพิมพ์อักขระตัวแรกแล้วลบดัชนีผกผันออกจากตัวอักษรเช่น [chars] - [0, len ([chars]) .. 2]

รหัสคือ

$r;#AoW\U-@</u.?;;

ซึ่งแม็พลงบนคิวบ์ต่อไปนี้

    $ r
    ; #
A o W \ U - @ <
/ u . ? ; ; . .
    . .
    . .

ลองที่นี่


2

เยลลี่ , 14 ไบต์, คะแนน: 21, ปลอดภัย

ทั้งขนาดโปรแกรมและเอาท์พุทจะถูกนับด้วย Jelly codepage

อินพุต

อาร์กิวเมนต์บรรทัดคำสั่งแรก

เอาท์พุต

-§ḋẇ"*YdĖDƘ>Ẉed€Ç+æạɦ

สารละลาย

ØJiⱮÄÆNPḃØ⁵ịØJ

ลองออนไลน์!


เนื่องจากการแปลงจาก / เป็น Jelly เพจเป็นเรื่องยากมันจะมีประโยชน์ที่จะมีตัวตรวจสอบ (ที่ใช้โปรแกรมแปลงจาก UTF8 เป็น Jelly เลี้ยงด้วยตัวเองแปลงจาก Jelly เป็น UTF8 และตรวจสอบว่าเท่ากับที่คาดไว้หรือไม่ ผลลัพธ์)
user202729

@ user202729 โปรแกรม Jelly นี้v⁼จะให้ผล1ถ้าอินพุตที่ประเมินว่าเป็นรหัส Jelly ที่มีอินพุตของอินพุตเท่ากับอินพุตและจะให้ผลตอบแทน0หรือข้อผิดพลาด (หากอินพุตเป็นรหัส Jelly ที่ไม่ถูกต้อง) หากไม่ได้รับ
Jonathan Allan

1

JavaScript Firefox, <10 ไบต์, คะแนน: 52, จากการป้อนอาร์กิวเมนต์ของฟังก์ชัน, ถอดรหัส

ZnVuY3Rpb24gYnRvYSgpIHsKICAgIFtuYXRpdmUgY29kZV0KfQ==


btoa

btoa(btoa) เข้ารหัสสตริงต่อไปนี้:

function btoa() {
    [native code]
}

ซึ่งจะช่วยให้:

"ZnVuY3Rpb24gYnRvYSgpIHsKICAgIFtuYXRpdmUgY29kZV0KfQ=="

เพิ่งคัดลอก


ก่อนอื่นเลยหลังจากทำอย่างชัดเจนแล้วนี่ไม่ใช่รหัสจริงเหรอ? ประการที่สองคุณไม่ได้ระบุว่าอินพุตมาจากไหน ฉันจะโพสต์ crack แต่โดยสุจริตฉันไม่แน่ใจว่าการส่งนี้ถูกต้อง
Quintec


ฉันไม่คิดว่าจำเป็นต้องมีการโพสต์รอยแตกในโพสต์นี้ผู้คนสามารถคลิกที่ลิงก์เพื่อดูการแตกได้
user202729

1

GCC 61-> 61 ไบต์

70 4F 92 73 08 D4 03 E7 65 DC D6 89 B5 AD BA 90 
97 26 31 10 F6 FA 0A 30 8F 24 69 0A A7 8B 59 9E 
A2 42 D5 67 B8 12 3A 1E 9D 25 80 F9 6B 25 32 C2 
EE 46 3F 8D 7E 0C 73 0F F0 93 C6 68 50

โปรแกรมเต็มรูปแบบรับอินพุตจาก stdin และเอาต์พุตไปที่ stdout


ดังนั้นมีช่องว่างหลังจากที่ผ่านมา50?
tsh

@tsh มันเป็นเลขฐานสิบหก
l4m2

1

Perl 6, 43 ไบต์, คะแนน: 15, จาก stdin

49671296789805

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

อืมฉันก็คิดแบบนั้น.
donaldh


1

J , 26 ไบต์, คะแนน: 52, ปลอดภัย

โปรแกรมไม่ใช่ REPL แต่เป็นสคริปต์แบบเต็มที่ยอมรับstdinและพิมพ์อย่างชัดเจนstdoutและชัดเจนในการพิมพ์

อินพุต

อินพุตมาตรฐาน

เอาท์พุต

6fc42353c98217ef5a2908a3c63d090aa9a55b2558b61294e06a

ไม่มันไม่ใช่วิธีการเข้ารหัส


สารละลาย

echo]hfd]257x#.3&u:stdin''
                   stdin'' Take the whole input
               3&u:        Convert to codepoints
         257x#.     Convert base 257 to integer
     hfd]           "Hex from Decimal"
echo]               Print to stdout

ลองออนไลน์!


1

ถัง , 6 ไบต์, คะแนน: 6

อินพุต

จากการstdinใช้?

เอาท์พุต

5\x1c"\x1c"9

โปรดทราบว่านั่นคือลำดับการยกเว้นสำหรับไบต์ที่ไม่สามารถพิมพ์ได้ แทนที่ทางหนีด้วยตัวอักษรที่แท้จริงข้อความดิบมีให้ที่นี่

ขอให้โชคดีกับสิ่งนี้! ดูกันทุกสัปดาห์หน้า!


0

 Perl 6, 31 ไบต์, คะแนน: 39, จาก stdin - Cracked

แตกที่นี่

().1111111111112222235abcegijkmnorstvy

วิธีการแก้ปัญหาที่หยาบ อาจอยู่รอด


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