ถอดรหัสรหัสที่มา


142

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

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

  1. ภาษา
  2. ความยาวของโปรแกรม
  3. ผลลัพธ์ที่ต้องการ
  4. ซอร์สโค้ดเวอร์ชันที่มีสัญญาณรบกวน

จากนั้นโจรจะต้องถอดรหัสรหัสที่มาเพื่อให้โปรแกรมทำงานเหมือนต้นฉบับ


กฎของตำรวจ

คุณต้องเขียนโปรแกรมอย่างง่ายซึ่งพวกโจรจะพยายามสร้างใหม่

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

โปรแกรมและผลลัพธ์ของคุณต้องใช้ ASCII ที่พิมพ์ได้ (อนุญาตให้ขึ้นบรรทัดใหม่และเว้นวรรค) ผลลัพธ์ควรมีความยาวไม่เกิน 100 ตัวอักษรและโปรแกรมควรใช้เวลาน้อยกว่าประมาณ 5 วินาทีในการทำงานบนเครื่องที่เหมาะสม คุณไม่ได้รับอนุญาตให้ใช้การแฮช (หรือฟังก์ชันการเข้ารหัสลับอื่น ๆ ) ในโปรแกรมของคุณ

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

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

ตัวอย่างคำตอบ Cop ง่ายๆ

Perl, 20

ellir"lnto Wo d";prH

Hello World

หรือ...

Perl, 15

*3i)xp3rn3*x3t(

272727

กฎของโจร

โจรจะโพสต์ความพยายามในการแตกของพวกเขาเป็นคำตอบในหัวข้อแยกที่ตั้งอยู่ที่นี่

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

โจรที่มีคะแนนมากที่สุด (ชนะได้สำเร็จ)

ตัวอย่างง่ายๆคำตอบจากโจร

print "Hello World";โปรแกรมของคุณเป็น (แม้ว่าprint"Hello World" ;จะสามารถใช้ได้เช่นกัน)

โปรแกรมของคุณคือ print(3**3x3)x3

ส่งที่ปลอดภัย

  1. ASP / ASP.Net, 14 (Jamie Barker)
  2. Befunge-98, 15 (FireFly)
  3. GolfScript, 16 (Peter Taylor)
  4. CJam, 19 (DLosc)
  5. GolfScript, 20 (ผู้ใช้ 23013)
  6. Perl, 21 (พรีโม่)
  7. Python, 23 (mbomb007)
  8. ทับทิม, 27 (ฮิสโทแกต)
  9. SAS, 28 (ConMan)
  10. ทับทิมอายุ 29 ปี
  11. Python, 30 (mbomb007)
  12. JavaScript, 31 (hsl)
  13. ทับทิม, 33 (ฮิสโทแกต)
  14. Marbelous, 37 (es1024)
  15. ทับทิม 43 (ฮิสโตแกต)
  16. PHP, 44 (kenorb)
  17. Ruby, 45 (มิชชั่น)
  18. Marbelous, 45 (es1024)
  19. Python 2, 45 (Emil)
  20. PHP, 46 (Ismael Miguel)
  21. Haskell, 48 (nooodl)
  22. Python, 51 (DLosc)
  23. Python 60 (Sp3000)
  24. Python 2, 62 (muddyfish)
  25. JavaScript, 68 (Jamie Barker)
  26. Mathematica, 73 (Arcinde)
  27. Haskell, 77 (ภาคภูมิใจฮัสเซลเลอร์)
  28. Python, 90 (DLosc)
  29. C ++, 104 (ผู้ใช้ 23013)
  30. ECMAScript 6, 116 (Mateon1)
  31. C ++ 11, 121 (es1024)
  32. หญ้า, 134 (ผู้ใช้ 23013)
  33. PowerShell, 182 (christopherw)

ข้อเสนอที่ไม่ได้แก้

ตามลำดับเวลาที่โพสต์ รายการนี้ได้รับความอนุเคราะห์จากผู้ใช้หลายคน

เครื่องมือขนาดเล็กเพื่อตรวจสอบการแก้ไขความอนุเคราะห์จาก n̴̖̋h̷͉̃a̷̭̿h̸̡̅ẗ̵̨́d̷̰̀ĥ̷̳


4
@xnor ใช่นั่นคือความหมาย
PhiNotPi

3
คุณอาจต้องการห้ามการแฮ็ก
NinjaBearMonkey

7
คุณควรระบุว่าผู้ชนะต้องโพสต์ซอร์สโค้ดต้นฉบับหลังจากหนึ่งสัปดาห์ อะไรทำให้ฉันไม่สามารถโพสต์ซึ่งพูดพล่อยๆและอ้างว่าไม่มีโจรได้รับคำตอบที่ถูกต้อง?
user2023861

62
ฉันคิดว่า "โอ้ฉันแค่เขียนโปรแกรม malbolge แย่งมันแล้วชนะสิ่งนี้!" แต่ฉันพยายามเขียนโปรแกรม malbolge
rodolphito

8
คำเตือน: ตำรวจอย่าใช้ Ideone เพื่อทดสอบสิ่งที่คุณส่งเนื่องจากมันเก็บโปรแกรมของคุณและคนอื่น ๆ สามารถเห็นมันได้
rodolphito

คำตอบ:


65

Python 3 ขนาด 74 ( แตก )

Python ไม่เหมือนเดิมหลังจากได้รับการศึกษาจากพี่ใหญ่อีกครั้ง

การป้อนข้อมูล:

print(war is peace)
print(freedom is slavery)
print(ignorance is strength)

มีบรรทัดใหม่สองบรรทัดที่ท้ายบรรทัด 1 และ 2

เอาท์พุท:

True
True
True

โปรดทราบว่าแต่ละรายการTrueอยู่ในบรรทัดของตัวเอง


1
อะไรอยู่เบื้องหลังประตู 101
FryAmTheEggman

5
ฉันเคย2+2==5มีคำสั่งที่สี่จนกระทั่งฉันพบว่า=มันทำให้ง่ายเกินไป
xnor

5
การอ้างอิงที่ดี 1984
Justin

2
แตกระแหง นั่นยอดเยี่ยมมาก
Sp3000

52

Python 3 ขนาด 12 ( แคร็ก )

print (abcd)

โปรแกรมของฉันสร้างไม่มีเอาต์พุตและไม่มีข้อผิดพลาด


4
แตกระแหง นิสัยดีตอบโต้ได้ง่ายมาก
matsjoyce

2
เยี่ยมมากฉันจะไปintพักหนึ่ง
Fox Wilson

@matsjoyce ทำได้ดีมาก นั่นคือทางออกที่ฉันตั้งใจไว้
xnor

1
@ matsjoyce ใช่ฉันคาดว่าจะมีคนทำแบบนี้ในที่สุด ถึงกระนั้นฉันขอแนะนำให้ทุกคนไม่เสียเองและพยายามแก้ไขด้วยมือ ฉันรับรองว่ามันเป็นทางออกที่น่ารัก
xnor

ฉันคิดว่าฉันได้รับมัน วิธีแก้ไขปัญหาที่ฉันพบไม่ทำงานหากฉันพิมพ์ครั้งแรกpythonแล้วพิมพ์วิธีแก้ไขปัญหาที่พรอมต์ python fileแต่มันไม่ทำงานถ้าฉันใส่วิธีการแก้ปัญหาของฉันในแฟ้มและชนิด
kasperd


26

Python 2 ขนาด 50

แตกระแหง

เรารู้คำตอบของคำถามอยู่แล้ว แต่คำถามคืออะไร

รหัส

print *********************--///222222222222222222

โปรดทราบว่าไม่มีช่องว่างต่อท้ายหรือขึ้นบรรทัดใหม่ อักขระช่องว่างเพียงช่องเดียวหลังจากprintนั้น

เอาท์พุต

42

ฉันพยายามที่จะรักษาความยาวและความยากของรหัสสมดุล แต่ก็ไม่แปลกใจถ้าฉันพลาดมันทั้งสองทาง หวังว่ามันจะเพียงพอที่จะกีดกันกำลังดุร้ายอย่างน้อยที่สุด



6
สิ่งนี้น่าจะดีกว่ากับขนาด 42
CVn

23

Pyth - 71 แคร็ก

รหัส

C-3P0: "Sir, the possibility,..."* 
Han Solo: "Never Tell Me The Odds!"

เอาท์พุต

3720

* เดิมจอร์จลูคัสมีฮันขัดจังหวะ C3-PO. **

** เขาเรียกว่าความคิดที่ยิ่งใหญ่ที่สุดของเขาตั้งแต่ Jar-Jar


หมายเหตุที่น่าสนใจ: แม้จะมีการเปลี่ยนแปลงทั้งหมดที่ Pyth ผ่านมาแล้ว แต่ก็ยังมีคำตอบที่ถูกต้องอยู่ที่นี่!


เป็นต้นฉบับ

ts,*s,y30 l" : : i i Han Solo "eP-C"h"TsrhT

คำอธิบาย

อักขระที่เหลืออยู่จะอยู่ในบรรทัดถัดไป Pyth ตีความเฉพาะบรรทัดแรกของไฟล์เท่านั้น

ts,ทำ 2 tuple และรับผลรวม -1
*ทวีคูณ:
s,y30 l"..."รวม 2-tuple ที่มี 2 * 30 และความยาวของสตริง (18)
eP-C"h"Tรับค่านายกที่ใหญ่ที่สุดของค่า ascii ของ h ลบ 10 (47)
srhTรับผลรวมของตัวเลขตั้งแต่ 0-10

สรุปแล้วนี่เป็นการคำนวณโดยทั่วไป: (30 * 2 + 18) * (47) + 55-1 หลังจากอ่านคำตอบของ @ isaacg ฉันสังเกตเห็นว่ามีวิธีแก้ปัญหาที่ง่ายมาก*h30tC"y"นั่นคือ 31 * 120

Updated

*h30tC"y" "-P:Sir, e possibilit,...
Han Solo: Never Tell Me The Odds!"
ยังคงทำงานแม้หลังจากทั้งหมดนี้ ...

ขออภัยสำหรับการจัดรูปแบบคำอธิบายที่ไม่ดีฉันไม่ทราบวิธีใช้บล็อกสปอยเลอร์: S (@ Sp3000 ทำให้มันดีกว่าสำหรับคุณ)

ตอนนี้คุณสามารถรัน Pyth ออนไลน์ได้แล้ว! ลองที่นี่ ขอบคุณ @isaacg :)


9
ข้อมูลข้างต้นอาจมีข้อมูลที่สร้างขึ้นอย่างโจ๋งครึ่มเกี่ยวกับการสร้าง Star-Wars
FryAmTheEggman


@FryAmTheEggman คุณสามารถใช้แท็กในบล็อกเช่น<br>
Sp3000

21

CJam ขนาด 51 [ปลอดภัย]

รหัส

main(int argc,char* argv){printf("Hello, World!");}

เอาท์พุต

55
2292213229222231957511222223333751125537511222222135723331131931959319319

คุณสามารถเล่นรอบกับมันในล่ามออนไลน์

นี่ควรจะแตกได้มากกว่าที่เห็น

เปรย

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

วิธีการแก้

"that rrrrraging london Hail!v"{elccimf(;W))},(*,pa

อากาศคงจะไม่ดีพอเมื่อฉันสร้างแอนนาแกรมขึ้นมา ...

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


9
เดี๋ยวก่อนมีปัญหานี้หรือไม่ ???
TheDoctor

18

Befunge-98 ขนาด 15 [ปลอดภัย]

รหัส

"quick"
*+.@\_j

เอาท์พุต

3314

เป็นต้นฉบับ

"u_ji@q.+k*c
"
คุณลักษณะที่น่าสนใจ แต่ค่อนข้างเป็นที่รู้จักของ Befunge คือคุณสามารถยุติสตริงด้วยเครื่องหมายคำพูดเดียวกับที่เริ่มต้นขึ้นซึ่งในสาระสำคัญจะผลักทั้งบรรทัดนั้น (ยกเว้นเครื่องหมายคำพูด) บนสแต็ก ในฐานะที่เป็นเคล็ดลับพิเศษฉันใช้สตริงเดิมอีกครั้งอีกครั้งโดยใช้uเพื่อย้อนตัวชี้คำสั่ง จากนั้นก็เป็นเพียงแค่เลขคณิต: แนวคิดหลักคือการสรุปค่าทั้งหมดเหล่านั้น (ซึ่งใช้kเพื่อทำซ้ำการ+ดำเนินการ)


คุณได้ทำการทดสอบล่ามคนใดและโดยเฉพาะอย่างยิ่งพวกเขาทำข้อสมมติฐานเกี่ยวกับบิตแบนด์วิธของเซลล์อย่างไร
Peter Taylor

@PeterTaylor ฉันได้ทดสอบบน cfunge ภายใต้ x86_64 linux การทดสอบบางอย่างดูเหมือนจะระบุว่าใช้จำนวนเต็ม 64 บิตที่ลงชื่อ แต่ฉันสามารถพูดได้ว่าโซลูชันของฉันไม่ได้ขึ้นอยู่กับซีแมนทิกส์ล้นดังนั้นฉันไม่แน่ใจว่ามันสำคัญหรือไม่
FireFly

ตกลงดังนั้นฉันไม่ควรมองหาโอเวอร์โฟลว์ 8 บิต ความอัปยศนั่นอาจทำให้มันง่ายขึ้น)
ปีเตอร์เทย์เลอร์

ฮึ. ฉันทำโปรแกรมการพิมพ์3312, 3300และอื่น ๆ 3314อีกหลายที่อยู่ใกล้กับ ใกล้ ...
Justin

@Quincunx ยอดเยี่ยม ... : P
FireFly

16

GolfScript (16 ไบต์) [ปลอดภัย]

%%()*../1129n{}~

ผลลัพธ์ที่คาดหวัง:

-117345085515973157874551915956356303213327583847247840186528288852476459638212404362749

แหล่งต้นฉบับ:

n)~{.*911%(}./2%


นี่คือเอาต์พุตที่คาดไว้ซึ่งไม่รวมบรรทัดใหม่ต่อท้ายหรือขึ้นบรรทัดใหม่เพียงแค่จะไม่ถูกเอาต์พุต?
ProgramFOX

@ProgramFOX ผลลัพธ์จะสิ้นสุดในบรรทัดใหม่ :วิธีเดียวที่ฉันรู้ในการหลีกเลี่ยงที่จะต้องมี
ปีเตอร์เทย์เลอร์


13

Python, 69 ตัวอักษร [ แตกโดย GRC ]

scrambled:

((((((((((((())))))))))))),,,,accdddiiiiillmmnopprrrrrssssssttttttttu

เอาท์พุท:

1083

คนนี้สนุกไปกับมันไม่เป็นอันตราย :) ทดสอบกับ CPython 2.7.8, 3.3.2 และสำหรับมัน PyPy3 2.3.1


คำอธิบาย

ใช้ฟังก์ชันที่มีอยู่strแล้วdictภายในlistเพื่อสร้างสตริงและใช้mapกับordการแปลงสตริงเป็นรายการของ int ซึ่งจะเป็นsummed




11

Python 3, 70 ตัวอักษร

scrambled:

""(((())))****++++222222222;;;;;=======cccccccccceeeiinnpprrttxxxxxxxx

เอาท์พุท (ยาว 99 ตัวอักษร):

388626024960000000000026872002432000000000000676169243200000000000007317718780000000000000028820330

ปรับปรุง

เป็นเวลาหนึ่งสัปดาห์ดังนั้นแทนที่จะโพสต์คำตอบนี่เป็นคำใบ้:

ลองหาสแควร์รูทของจำนวนแล้วทำงานจากตรงนั้น



9

JavaScript, 94 ถอดรหัสโดย FireFly

alert(' '' '''((()))+++,,,,,,,,,,,,,000111111114444577888;;;;;======[[[]]]aaafhinorrrrvvvxx||)

เอาท์พุต

fun in the sun

เป็นต้นฉบับ

a=alert;v='';r=[1,7,8,14,11,8,14,10,0,5,14,4,7,8];for(x in r)v+=('h'+(1==0)+a)[r[x]]||'';a(v);


ฉันมีความรู้สึกว่ามันจะไม่ทำงานในเบราว์เซอร์ / เครื่องมือทั้งหมด สภาพแวดล้อมแบบใดที่คุณทดสอบสิ่งนี้
Martin Ender


โอ้ ... และฉันมั่นใจว่าคุณมีalertอันดับแรกเนื่องจากดัชนีที่เข้ากันได้ดีกับตัวละครที่ต้องการ เรื่องบังเอิญที่น่าสนใจ
FireFly

ที่จริงแล้วฉันก็มีมันก่อนเช่นกันเมื่อฉันเริ่มทำงานกับมัน แต่ฉันเปลี่ยนมันเพื่อลดความแตกต่างของเบราว์เซอร์
SLuck49

ไม่ทำงานบน Chrome ฉันมีเวอร์ชั่นล่าสุด มันบอกว่าSyntax Error: Unexpected String
Oliver Ni

8

Ruby, 38 - แตกโดย Martin Büttner

print(succ(downcase!))$$$..[[]]6e0<><_

เอาท์พุท:

u

เดิม:

$6.pincdwnca[]rescue$><<$!.to_s[((0))]



1
@ MartinBüttner Heh ไม่มีที่ไหนใกล้กับของจริงแน่นอน แต่ทางออกของคุณอาจน่ากลัวยิ่งกว่าของเดิม ;)
Doorknob

1
เฮ้มีปลาอยู่
TheDoctor

ดังนั้นprintและdowncase!เป็นปลาเฮอริ่งแดง ผมคาดว่าคำตอบให้กับการใช้งานไม่ได้คิดว่าputs $><<
kernigh

7

Python 3 ขนาด 16 ( แคร็ก )

รหัส:

help tim__rolo__

เอาท์พุท (กับขึ้นบรรทัดใหม่ในตอนท้าย):

Hello world!


1
@ MartinBüttnerผมรู้ว่ามีคนได้เห็นไข่อีสเตอร์ ...
matsjoyce

1
ฉันไม่ได้ แต่ฉันเป็น google ได้อย่างรวดเร็ว ;) จะซื่อสัตย์ถ้าผมไม่ได้รับในการดังกล่าวรีบฉันอาจจะได้เห็นว่าตัวละครที่เหลืออยู่หลังจากถูกแอนนาแกรมของhello import^^
Martin Ender

7

Perl - 47 ( ถอดรหัสโดย GRC )

รหัส (มีช่องว่างหนึ่งช่องในนั้นด้วย)

 """"$$$$$$((()))**....///;;[[]]~==01finoprrstx

เอาท์พุท:

012345012345012345012345012345

คุณสามารถเรียกใช้ออนไลน์ได้ที่นี่และมันไม่ทำงานภายใต้และstrictwarnings



@grc ฉันจะบอกว่ามันถูกต้อง! เยี่ยมมาก! มันพิมพ์สิ่งที่ถูกต้อง หากคุณต้องการคำแนะนำเกี่ยวกับรุ่นที่ทำงานภายใต้strictและwarningsแจ้งให้เราทราบ
hmatt1

7

Ruby, 33 - แตกโดยผู้ใช้ 23013

enpsttux [[[]]]++\-\**????$$$$...

เอาท์พุท:

[*]

เดิม:

puts ?[+[*?*..?]][$$-$$]+?\\.next


รุ่นนี้คืออะไร
ลินน์

@ nooodl ฉันมี 1.9.3 แต่ไม่มีรุ่นเฉพาะเกี่ยวกับอันนี้
Doorknob

นี่เป็นเรื่องยาก นี่คือสิ่งที่ฉันมีจนถึงตอนนี้: puts เห็นได้ชัดว่าจะเป็นสิ่งแรกที่มี.nextคำหลักอีกคำที่สามารถใช้ได้และที่เหลือก็เป็นคาถาที่มี$ตัวแปรทับทิมและการสร้างอาร์เรย์อักขระ .... +1
rodolphito

แตกระแหง
jimmy23013

@ user23013 ดีมาก! ไม่ใช่ของแท้ แต่; ฉันน่าจะมีตัวอักขระที่ไม่ได้อยู่ในแหล่งที่มาจริง ๆ )
Doorknob

7

Python2, 132 อักขระ

____        ,,,,:::''""""""""""((()))[[]]\\\0126aaaabcccceeeeeeeeeEffggiiiiiilllllmmmmnnnnnnooooopppppqqrrrrrrrrrssssStttttttuuvxxyy

เอาท์พุท (พร้อมขึ้นบรรทัดใหม่):

chance

เวอร์ชั่นที่ปรับปรุงแล้ว, 96 ตัวอักษร

คำตอบสำหรับเวอร์ชันดั้งเดิมแนะนำให้ใช้execแทนcompile+ evalดังนั้นนี่คือเวอร์ชันที่ง่ายขึ้น:

____       :::''""(())[[]]\\\0126aaabcccceeeeeeeeEffiimmnnnnooopppqqrrrrrrrrrssStttttttuuxxxxyy

ปรับปรุง: แตก

แตกอย่างเต็มที่โดยอเล็กซ์แวน LiewและKennyTM โซลูชันดั้งเดิมคือ (เลื่อนไปทางขวาเพื่อแสดงสปอยเลอร์):

                                                                                                                                eval(compile('try: compile("from __future__ import braces","","single")\nexcept SyntaxError as q:\n\tprint q[0][6:12]',"","single"))
                                                                                                                                exec('try:exec("from __future__ import braces")\nexcept SyntaxError as q:\n\tprint q[0][6:12]')
                                                                                                                                The hint meant "Consider {}, which are not present in the source code".

บรรทัดใหม่มีกี่บรรทัด
Sp3000

ไม่มี (ไม่นับบรรทัดใหม่เชิงตรรกะเหมือน\nตัวอักษรในสตริง) ด้วยการขึ้นบรรทัดใหม่โค้ดอาจสั้นลง
วิ

2
+1 สำหรับการให้xs และcs ไม่เพียงพอสำหรับฉันที่จะทำสิ่งที่ฉันต้องการจะทำ: P
Sp3000

1
ฉันจะคิดคำใบ้ได้ไหม เริ่มจากสิ่งที่คลุมเครือ: Don't count ones which exist. Count ones which do not exist.
วิ

แตกระแหง
kennytm

7

Ruby, 29 [ปลอดภัย]

พยายามที่จะดูว่าฉันจะได้ทับทิมสั้นแค่ไหนโดยไม่แตก

รหัส

paper view
otool
$()**,.8<<=>

เอาท์พุต

[0][0, 3][0, 3, 6][0, 3, 6, 9][0, 3, 6, 9, 12][0, 3, 6, 9, 12, 16][0, 3, 6, 9, 12, 16, 20]

เป็นต้นฉบับ

eval <<p*8 o=*o,$>.write(o) p

คำอธิบาย

บรรทัดแรกสร้าง heredoc ที่เริ่มต้นในบรรทัดถัดไปและคั่นด้วยการต่อท้ายpจากนั้นเชื่อมสตริงผลลัพธ์กับตัวเอง 8 ครั้ง เมื่อมันสิ้นสุดในการขึ้นบรรทัดใหม่สิ่งนี้จะสร้างลูป รหัสวนลูปกำหนดอาร์เรย์ให้กับตัวแปรoซึ่งประกอบด้วยองค์ประกอบในo.to_a(ผ่าน*ชวเลข) แล้วตามด้วยเอาต์พุตของ$<.write(o)ซึ่งแปลงoเป็นสตริงพิมพ์ลงใน STDOUT และส่งกลับจำนวนไบต์ที่พิมพ์ ตัวแปรที่ถูกกำหนดให้เป็นครั้งแรกมีnilวัตถุประสงค์เพื่อประเมินทางด้านขวามือดังนั้นในการวิ่งครั้งแรก*oว่างเปล่าและเขียนเอาต์พุตไม่ได้อะไรและส่งคืน 0 แต่ละรอบต่อมาจะส่งออกอาร์เรย์ของเอาต์พุตไบต์ในรอบก่อนหน้า การใช้ heredoc p-delimited สร้างวิธีการลวงสำหรับเอาท์พุทpและ$><<ในตัวอักษรที่มีสัญญาณรบกวนนั้นจะไม่ทำงานเพราะคุณต้องการ bytecount


6

PHP, ขนาด 49 [ แตกโดย Martin Büttner ]

รหัส

sub(print2w, $+expect+$+one+$+str+$+in=$@~main$);

เอาท์พุต

{main}

คุณจะเปิดเผยข้อมูลเกี่ยวกับ PHP เวอร์ชันที่คุณทดสอบด้วยหรือไม่?
Martin Ender

@ MartinBüttnerฉันจะไม่ระบุช่วงที่แน่นอน แต่ทุกอย่างตั้งแต่ 5.3.0 ขึ้นไปจะได้ผลลัพธ์ที่ถูกต้อง
bwoebi

3
แตกระแหง ใช้เวลาเหมือน ... 4 ชั่วโมง ...
Martin Ender

@ MartinBüttnerว้าวขอแสดงความยินดีด้วย! ไม่ได้คาดหวังให้คุณไม่ยอมแพ้ :-)
bwoebi



6

Haskell, 100 Chars (ไม่ถูกต้อง, เอาต์พุตยาวเกินไป)

รหัส

//Sup
tl=[]
while(syn==(+j)) tl+=b.a();
//(: #jquery :)\\
$("#jquery").on("click", j=>alert(j==m))

เอาท์พุท:

"\er\\e\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\\\\\\\\\\\\"\\\\\\\\\\\\\"\\\\\\\


เป็นต้นฉบับ

(#)=(>);(//)=(++)
l=j.show
main=putStr.l.l$l"eer"
j[]="\\"
j(y:u)=let(q,c)=break(#y)u in y:j c//j q

5
ฉันคิดอยู่ครู่หนึ่งว่าฉันกำลังอ่านคำถาม"Evolution of Hello World"
วิ

1
@Vi ใช่ แต่ฉันคิดว่าระยะทาง Levenshtein นั้นเล็กกว่า 7 เล็กน้อยในโพสต์นี้
Zaq

1
ผลผลิตนานกว่า 100 ตัวอักษร
Lynn

1
@Zaq: ข้อ จำกัด ด้านขนาดไม่ได้อยู่ที่ขนาดของรหัส แต่มันอยู่ที่เอาต์พุต!
ลินน์

1
ฮะ. fix showและผมเดาคุณทำอะไรกับ uncrackable แน่นอน
ภูมิใจ haskeller

6

J, 22 ไบต์

รหัส

!%()1348:::bbceehorvxx

เอาท์พุท (97 ตัวอักษร)

1226317306651180983274420265228191056569220222873505571155987454033425908908110103433163350999040

ฉันคาดว่าสิ่งนี้จะเป็นไปไม่ได้ในทางปฏิบัติ ...


6

CJam, 32 ไบต์ ( แตก )

แหล่งสัญญาณรบกวน

"Beware the Jabberwock, my son!"

เอาท์พุต

4074552392882954617076720538102062920

2
อืมคุณได้รับแนวคิดในการใช้คำพูดเป็นรหัส CJam ที่ถูกรบกวน ;)
Martin Ender


@ MartinBüttner: นั่นคือบทประพันธ์จากบทกวีไม่ใช่ภาพยนตร์ แตกต่างอย่างสิ้นเชิง!
เดนนิส

@ เดนนิสเดี๋ยวก่อนฉันไม่ได้มาจากภาพยนตร์เช่นกัน (ไม่ใช่จากบทกวีอย่างแน่นอน: D)
Martin Ender

6

Pyth - 35 - แคร็ก

ด้วยจิตวิญญาณของ @ MartinBüttner:

รหัส

"Programming Puzzles and Code Golf"

เอาท์พุต

4.459431618637297

ลองถอดรหัสมันออนไลน์ที่นี่


ฉันทำมันแตก แต่เพื่อให้คนอื่นใช้ Pyth ได้มากขึ้นฉันจะลบคำตอบออกชั่วคราว
isaacg

เอาล่ะแตก
isaacg

5

TinyMUSH 3.1 , 20

scrambled:

(#ret,#3!#+#2i\2#,@)

เอาท์พุท:

3210

6
เราควรจะเรียกใช้สิ่งนี้อย่างไร การอ้างอิงภาษาอยู่ที่ไหน (ลิงค์ไม่ได้ช่วยที่นี่)
n̴̖̋h̷͉̃a̷̭̿h̸̡̅ẗ̵̨́d̷̰̀ĥ̷̳

3
@ n̴̖̋h̷͉̃a̷̭̿h̸̡̅ẗ̵̨́d̷̰̀h คุณสามารถเรียกใช้รหัสนี้ได้โดยเชื่อมต่อกับ MUSH ที่ใช้เวอร์ชั่น TinyMUSH ที่เหมาะสม เรียกดูที่นี่เพื่อค้นหาประเภทเซิร์ฟเวอร์ที่เป็น "MUSH" หรือดาวน์โหลดซอร์สเซิร์ฟเวอร์จากที่นี่และเรียกใช้ MUSH ด้วยตนเอง
Muqo

5

Python 3 ความยาว 110 [ แตกโดย GRC ]

สัญญาณรบกวน ( \nหมายถึงขึ้นบรรทัดใหม่)

\n\n\n   ""((((())))),.......9::;===IOS[]__addeeegghiiiiiiiiijllmmnnoooooooppprrrrsssssssssstttttttttttuuuuuvwyyy

เอาท์พุท:

The better is Flat dense. break never of be do at never. If bad it honking

นี่คืออีกหนึ่งความสนุก - ไม่ได้หมายถึงยาก แต่เป็นสิ่งที่ผิดปกติ :)


คำอธิบาย

คำสุ่มมองที่นำมาจากเซนของงูใหญ่ (PEP 20) import thisซึ่งเป็นพิมพ์โดยอัตโนมัติผ่านทางไข่อีสเตอร์ เนื้อเรื่องเป็นเพียงคำที่เก้าทุกคำตามคำใบ้ของ9::[]ปัจจุบัน
เพื่อดึงทุกคำที่เก้าโดยไม่ต้องพิมพ์ทางเดินเมื่อนำเข้าโดยอัตโนมัติเราเปลี่ยนเส้นทางไปยังsys.stdoutStringIO()



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