ชุดย่อยที่ต่อเนื่องกันสั้นที่สุดของ ASCII ที่คุณต้องการส่งออกส่วนที่เหลือคืออะไร?


42

ตัวอักขระ ASCII (รหัสฐานสิบหก 20 7E) เพื่อ ได้แก่ :

 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~

(โปรดสังเกตว่ามีพื้นที่ว่างอยู่ในนั้น)

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

สตริง

REVERSED:~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"! NORMAL: !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~

มีอักขระ ASCII ที่พิมพ์ได้ทั้งหมดอย่างน้อยหนึ่งครั้งทั้งในการเพิ่มและลดลำดับ กล่าวอีกนัยหนึ่งเมื่ออักขระมีค่าด้วยรหัสตัวเลขการเพิ่มขึ้นและลดลงที่ยาวที่สุดจะมีความยาว 95 (จำนวนอักขระ ASCII ที่พิมพ์ได้)

ท้าทาย

เลือกชุดย่อยที่ต่อเนื่องกันของ N อักขระ ASCII ที่พิมพ์ได้เช่นLMNOP(N = 5) เขียนโปรแกรมโดยใช้เฉพาะอักขระ N ตัวที่เอาต์พุตมีอักขระ ASCII ทั้งหมด 95 ตัวในการเพิ่มและลดอันดับเช่นเดียวกับตัวอย่างด้านบน

ผู้ชนะคือการส่งที่มีค่าต่ำที่สุด N ในกรณีที่ผูกรหัสที่สั้นที่สุดในหน่วยไบต์

หมายเหตุ

  • ส่วนหนึ่งที่อยู่ติดกันหมายถึงชุดของ ASCIIs พิมพ์ที่ปรากฏในทิวแถวเช่นหรือLMNOP89:;<=>
  • เซ็ตย่อยที่อยู่ติดกันของคุณอาจ "วนไปรอบ ๆ " จาก~ไปยังช่องว่าง แต่จะมีการลงโทษ +3 ใน N ดังนั้น{|}~มี N = 4 แต่{|}~ !มี N = 6 + 3 = 9
  • โปรแกรมของคุณอาจมีอักขระ ASCII ที่พิมพ์ได้ N ตัวเท่านั้นจากชุดย่อยที่ต่อเนื่องที่คุณเลือก พวกเขาไม่ได้ทั้งหมดต้องปรากฏและอาจปรากฏหลายครั้งในลำดับใด ๆ (ไม่อนุญาตให้ใช้ ASCII ที่ไม่สามารถพิมพ์ได้ทั้งหมดและไม่ใช่ ASCII ทั้งหมดหมายความว่าไม่อนุญาตให้ใช้แท็บและการขึ้นบรรทัดใหม่)
  • ผลลัพธ์ของคุณอาจมีอักขระ ASCII ที่พิมพ์ได้เท่านั้นและต้องมีความยาวน้อยกว่า 10,000 อักขระ
  • ผลลัพธ์ที่เพิ่มขึ้นและลดลงของลำดับที่ยาวที่สุดของคุณจะต้องมีความยาว 95 (ดังอธิบายข้างต้น)
  • ส่งออกไปยัง stdout ไม่มีอินพุต
  • N เป็นจำนวนเต็มบวกน้อยกว่า 96

45
ในที่สุดความท้าทายที่สร้างขึ้นสำหรับ Brainfuck!
เลเวลริเวอร์เซนต์

1
เมื่อพิจารณาถึงประเภทของคำตอบที่น่าดึงดูด (ซึ่งเป็นวิธีที่ดีที่สุดอย่างชัดเจน) มันอาจจะน่าสนใจที่คะแนนจะเป็นการผสมผสานระหว่างความสั้นของโปรแกรมและจำนวนตัวอักษรที่ใช้ บางทีการลดขนาด n * m โดยที่ n คือขนาดของเซตย่อยของ ascii และ m คือความยาวของโปรแกรม?
JP

1
@JP "ผู้ชนะคือการส่งที่มีค่าต่ำที่สุด N ในกรณีที่ผูกรหัสที่สั้นที่สุดในจำนวนไบต์ที่ชนะ" ฉันทามติทั่วไปคือมันเป็นรูปแบบที่ไม่ดีในการเปลี่ยนแปลงกฎในช่วงปลาย คำตอบที่ชนะจะเป็นโปรแกรมที่สั้นที่สุดใน Unary (ซึ่งโดยทั่วไปแล้วเป็นโปรแกรมที่สั้นที่สุดใน Brainfuck ซึ่งมีรหัสต่างกัน)
Level River St

1
ฉันอยากจะแนะนำว่าผู้ที่โพสต์ใน Unary อาจต้องการประมาณความยาวของรหัสของพวกเขาในสัญกรณ์ทางวิทยาศาสตร์แทนที่จะทำให้เราเหล่ในการนับตัวเลข
เลเวลริเวอร์เซนต์

1
ยินดีต้อนรับสู่ CodeGolf ที่ 90% ของคำถามทั้งหมดถูกแย่งชิง ;)
TwoThe

คำตอบ:


33

เอกนารี, N = 1

14680262330376163203871465704220787333741951071 ไบต์

ใช้ไบต์ '0' เท่านั้น (ASCII 49)

เล่นกอล์ฟประมาณ 4.13253e + 60 ไบต์จากโซลูชันของ @ Comintern เครดิตยังคงให้เขา :)

ใน Brainfuck ดั้งเดิม:

++++++++[->++++<]>
[>+>+++<<-]>>-
[-<.+<+>>]<<
[>-.<-]

5
ฮ่า ๆ! รักการลดจำนวนไบต์ใน Unary พวกเขาทำให้ฉันหัวเราะเสมอ สนามกอล์ฟที่ดีของ Brainfuck, +1
Comintern

น่าเสียดายที่มันยังคง 14,680,262,330,376,163,203,871,465,694,220 ไบต์ยาวกว่าค่าสูงสุด (10,000) บางทีคุณสามารถตีกอล์ฟเพิ่มอีกนิดได้ไหม?
Gabe

3
@Gabe: ผลลัพธ์จำกัด 10,000 ตัวอักษร โปรแกรมยาวไม่ได้ล้อมรอบ
nneonneo

@nneonneo: โอ้ดีต่อไปแล้ว!
Gabe

96

เอกนารี , N = 1

4132527913354820031118363262102424570092493175835499123283719 (4.1325279e + 60) ไบต์

ซอร์สโค้ดในหน่วยเดียวกันมีขนาดใหญ่เกินไปที่จะโพสต์ที่นี่ มันสามารถทำซ้ำได้อย่างง่ายดายโดยการพิมพ์ (หรือสร้าง) ไฟล์ที่เต็มไปด้วย "0" s ที่มีความยาวเท่ากับจำนวนไบต์ข้างต้น

นี่เป็นตัวแทนไบนารี:

1010010010010110011000010010010010010010010010001111000000010010010010010110011000010010010010010010010010010010010010010010010010010010010001111000110011001010001100010000000111001110011001011100000111

และเทียบเท่า Brainf ** k code (การแพร่กระจายเพื่อความชัดเจน):

++++[->++++++++<]>>
+++++[->+++++++++++++++++++<]>
[-<+<.+>>]<
[-<-.>]

เอาท์พุท:

 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"! 

แก้ไข: Golfed out 9.097887e + 87 อักขระที่ไม่จำเป็น


17
ประณาม. ที่นี่ฉันรู้สึกฉลาดในการรับ N = 2 +1 และสำหรับตีกอล์ฟตัวละครมากกว่าที่มีอะตอมในจักรวาล
nneonneo

55
ฮ่าฮ่าฮ่า +1 สำหรับ "Golfed out 9.097887e + 87 อักขระที่ไม่จำเป็น"
Doorknob

8
ฉันไม่รู้ว่ามี "Unary" อยู่ดังนั้นฉันจะประดิษฐ์มันขึ้นมายกเว้นฉันจะใช้ตัวอักษร "O" จากนั้นผมจะเขียนฐานข้อมูลในนั้น ตอนนี้คำตอบนี้ได้แนะนำฉันไปแล้วฉันคิดว่าฉันสามารถสร้างความแตกต่างของ Unary แทน ... Onary?
ดร. Rebmu

6
แสดงรหัสหรือไม่ใช่คำตอบ :-) มากขึ้นไปยังจุด: คำตอบนี้เป็นเพียงแค่ (ได้รับการสนับสนุนอย่างดี) อ้างว่าโปรแกรมดังกล่าวมีอยู่ในพื้นที่นามธรรมของโปรแกรมที่เป็นไปได้ แต่ฉันอ้างว่า instantiation ทางกายภาพของโปรแกรมดังกล่าวเป็นไปไม่ได้และนี่คือ ไม่ใช่วิธีการแก้ปัญหา :-)
..

6
@R .. ตัวขยายการบีบอัดที่ถือว่าตัวละครทุกตัวเหมือนกันคือไม่โกงหากคุณสร้างรูปแบบไฟล์บีบอัดพิเศษที่อนุญาตให้ใช้อักขระตัวเดียวเท่านั้น ในกรณีนั้นความจริงที่ว่าตัวละครทุกตัวนั้นเหมือนกันคือความจริงที่ยากไม่ใช่ข้อสันนิษฐานดังนั้นตัวขยายการบีบอัดสามารถพึ่งพาข้อเท็จจริงนั้นได้
hvd

51

Brainfuck, N = 2

----------------------------------------------------------------------------------------------------------------------------------.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.

24,383 ไบต์ ใช้เพียง - และ (ASCII 45 และ 46) ลองได้ที่นี่: http://esoteric.sange.fi/brainfuck/impl/interp/i.html อาจถูกแยกวิเคราะห์เป็นรหัสมอร์สด้วยช่องว่างที่เหมาะสม

ต้องใช้ล่ามที่ปฏิบัติตามคำจำกัดความดั้งเดิมของ Brainfuck ซึ่งใช้อาร์เรย์เซลล์(อย่างน้อย) 30,000 ไบต์โดยเริ่มจากศูนย์ทั้งหมด


ดีมาก. สิ่งนี้เกิดขึ้นกับฉันหลังจากฉันเข้านอน:
เลเวลริเวอร์เซนต์

มันทำงานอย่างไร ในตอนท้ายมีเพียงหนึ่งเอาต์พุตฉันไม่เข้าใจว่าจะสามารถส่งออกสตริงอักขระทั้ง 95 ตัวได้อย่างไร
Lou

4
@LeoKing คุณต้องเป็นคนช่างสังเกตมากขึ้น มี 256-126 = 130 -จากนั้นส่วนที่มากไปน้อย.-.-.etcจากนั้นส่วนที่มากขึ้น (กลุ่มที่ 255 -ตามด้วย a .) เท่าที่ฉันสามารถบอกได้ว่ามันคือทั้งหมดที่นั่น โปรดดูการแก้ไขคำตอบของฉันสำหรับคำอธิบายด้วย
เลเวลริเวอร์เซนต์

1
โอ้ขอโทษเมื่อฉันเลื่อนไปตามฉันคิดว่ามันเป็นเพียงแค่สายของที่-มีเพียงหนึ่ง.ในตอนท้าย :) ความผิดฉันเอง.
Lou

4
+1 "อาจถูกแยกวิเคราะห์เป็นรหัสมอร์สด้วยช่องว่างที่เหมาะสม"
Amory

23

CJam - N = 3; 7659 ไบต์

''(((((((''((((((''(((((''((((''(((''((''('''(')'))')))'))))')))))'))))))')))))))'))))))))')))))))))'))))))))))')))))))))))'))))))))))))')))))))))))))'))))))))))))))')))))))))))))))'))))))))))))))))')))))))))))))))))'))))))))))))))))))')))))))))))))))))))'))))))))))))))))))))')))))))))))))))))))))'))))))))))))))))))))))')))))))))))))))))))))))'))))))))))))))))))))))))')))))))))))))))))))))))))'))))))))))))))))))))))))))')))))))))))))))))))))))))))'))))))))))))))))))))))))))))')))))))))))))))))))))))))))))'))))))))))))))))))))))))))))))')))))))))))))))))))))))))))))))'))))))))))))))))))))))))))))))))')))))))))))))))))))))))))))))))))'))))))))))))))))))))))))))))))))))')))))))))))))))))))))))))))))))))))'))))))))))))))))))))))))))))))))))))')))))))))))))))))))))))))))))))))))))'))))))))))))))))))))))))))))))))))))))')))))))))))))))))))))))))))))))))))))))'))))))))))))))))))))))))))))))))))))))))')))))))))))))))))))))))))))))))))))))))))'))))))))))))))))))))))))))))))))))))))))))')))))))))))))))))))))))))))))))))))))))))))'))))))))))))))))))))))))))))))))))))))))))))')))))))))))))))))))))))))))))))))))))))))))))'))))))))))))))))))))))))))))))))))))))))))))))')))))))))))))))))))))))))))))))))))))))))))))))'))))))))))))))))))))))))))))))))))))))))))))))))')))))))))))))))))))))))))))))))))))))))))))))))))'))))))))))))))))))))))))))))))))))))))))))))))))))')))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))))))))))))))))))))))))))))))))))))))))))))))')))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))))))))))))))))))))))))))))))))))))))))))))))))')))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))))))))))))))))))))))))))))))))))))))))))))))))))')))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))))))))))))))))))))))))))))))))))))))))))))))))))))')))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))')))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))')))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))')))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))')))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))')))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))')))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))')))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))')))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))')))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))')))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))')))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))')))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))')))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))')))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))')))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))')))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))')))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))')))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))')))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))')))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))')))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))')))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))')))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))')))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))')))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))')))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))')))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))))))))))))))))))))))))))))))))))))))))))))))))))))')))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))))))))))))))))))))))))))))))))))))))))))))))))))')))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))))))))))))))))))))))))))))))))))))))))))))))))')))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))))))))))))))))))))))))))))))))))))))))))))))')))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))))))))))))))))))))))))))))))))))))))))))))')))))))))))))))))))))))))))))))))))))))))))))))))'))))))))))))))))))))))))))))))))))))))))))))))))')))))))))))))))))))))))))))))))))))))))))))))))'))))))))))))))))))))))))))))))))))))))))))))))')))))))))))))))))))))))))))))))))))))))))))))'))))))))))))))))))))))))))))))))))))))))))))')))))))))))))))))))))))))))))))))))))))))))'))))))))))))))))))))))))))))))))))))))))))')))))))))))))))))))))))))))))))))))))))))'))))))))))))))))))))))))))))))))))))))))')))))))))))))))))))))))))))))))))))))))'))))))))))))))))))))))))))))))))))))))')))))))))))))))))))))))))))))))))))))'))))))))))))))))))))))))))))))))))))')))))))))))))))))))))))))))))))))))'))))))))))))))))))))))))))))))))))')))))))))))))))))))))))))))))))))'))))))))))))))))))))))))))))))))')))))))))))))))))))))))))))))))'))))))))))))))))))))))))))))))')))))))))))))))))))))))))))))'))))))))))))))))))))))))))))')))))))))))))))))))))))))))'))))))))))))))))))))))))))')))))))))))))))))))))))))'))))))))))))))))))))))))')))))))))))))))))))))))'))))))))))))))))))))))')))))))))))))))))))))'))))))))))))))))))))')))))))))))))))))))'))))))))))))))))))')))))))))))))))))'))))))))))))))))')))))))))))))))'))))))))))))))')))))))))))))'))))))))))))')))))))))))'))))))))))')))))))))'))))))))')))))))'))))))')))))'))))')))'))')'(''''(''((''(((''((((''(((((''((((((''(((((((

ลองที่http://cjam.aditsu.net/


13
What..just สิ่งที่ ...
คาลวินอดิเรก

1
@ Calvin'sHobbies เพียงการเพิ่มและ decrementing ตัวอักษร :)
aditsu

52
คุณแน่ใจหรือว่านี่ไม่ใช่ LISP
avalancha

18

Brainf ** k, N = 4

โปรแกรม brainfuck ครั้งแรกของฉัน ใช้อักขระ 3 ตัวจากบล็อก+,-.(Ascii 43 ถึง 46)

410 ไบต์ ( .สามารถลบได้หนึ่งรายการจากโปรแกรมหาก~~สามารถลดขนาดเป็นสองเท่าได้~)

นี่คือรายการคำสั่งในพื้นที่ของตาราง ASCII (ฉันไม่ต้องการคำสั่งอินพุต):

+   increment (increase by one) the byte at the data pointer.
-   decrement (decrease by one) the byte at the data pointer.
.   output the byte at the data pointer.
,   accept one byte of input, storing its value in the byte at the data pointer.

โชคดีที่คำสั่งที่เหลือ<>[](ตัวชี้ย้ายข้อมูลและดำเนินการข้ามเงื่อนไข) ไม่จำเป็น!

แบ่งออกเป็น 3 บรรทัดเพื่อความชัดเจน: 1:เพิ่มขึ้นจนกว่าข้อมูลจะถึง 32. 2:ส่งออกและเพิ่มขึ้นจนกว่าข้อมูลจะถึง 126 3:ส่งออกและลดลงจนกระทั่งข้อมูลถึง 32

++++++++++++++++++++++++++++++++

.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.

.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.

เอาท์พุต

 !"#$%&'()*+,-./0123456789:;<=>@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"! 

แก้ไข N = 2

ตามคำตอบของ @ nneonneo คุณสามารถแทนที่แต่ละป้าย+ด้วย 255 -เครื่องหมายสำหรับ N = 2 การจัดเรียงบางส่วนของรหัสและเอาท์พุท (แสดงลงมาแล้วขึ้นไป) หมายความว่าบรรทัดแรกสามารถลดลงเป็น 256-126 = 130 -สัญญาณ เรื่องนี้เกิดขึ้นกับฉันหลังจากฉันเข้านอนและไม่มีใครเอาชนะฉันได้ https://codegolf.stackexchange.com/a/35801/15599


ใช่คุณสามารถใช้~แทน~~เนื่องจากการเพิ่มและลดการเรียงลำดับจะยังคงอยู่ที่นั่น
งานอดิเรกของ Calvin

จะต้องมีบางโปรแกรม brainfuck สำหรับคำถามนี้;)
WallyWest

เอาชนะฉันให้ได้ ....
Joshpbarron

7

C; N = 43 = 40 + 3

นี่ฉันหลีกเลี่ยงตัวอักษรทั่วไปเช่น+ - * /ที่ตัวเลข0-9จุลภาคและอัฒภาค,;

ดังนั้นฉันถูกบังคับให้แสดงตัวเลขต่าง ๆ โดยใช้การดำเนินการ& % ~เท่านั้น

การเล่นกอล์ฟเพิ่มเติมอาจเป็นไปได้ (การหาตัวย่อที่เล็กที่สุดสำหรับหมายเลข 63 และ 95 เป็นแบบฝึกหัดสำหรับผู้อ่าน)

main(){
if (printf(" !"))
if (putchar('"'))
if (printf("#$%%&'"))
if (putchar('i'%(~' '&'a')))
if (putchar('j'%(~' '&'a')))
if (putchar('k'%(~' '&'a')))
if (putchar('l'%(~' '&'a')))
if (putchar('m'%(~' '&'a')))
if (putchar('n'%(~' '&'a')))
if (putchar('o'%(~' '&'a')))
if (putchar('p'%(~' '&'a')))
if (putchar('q'%(~' '&'a')))
if (putchar('r'%(~' '&'a')))
if (putchar('s'%(~' '&'a')))
if (putchar('t'%(~' '&'a')))
if (putchar('u'%(~' '&'a')))
if (putchar('v'%(~' '&'a')))
if (putchar('w'%(~' '&'a')))
if (putchar('x'%(~' '&'a')))
if (putchar('y'%(~' '&'a')))
if (putchar('z'%(~' '&'a')))
if (putchar('{'%(~' '&'a')))
if (putchar('|'%(~' '&'a')))
if (putchar('}'%(~' '&'a')))
if (putchar('~'%(~' '&'a')))
if (putchar('~'%(~'!'&'a')))
if (putchar(~(~('~'%(~'!'&'a'))&~(~' ' & '!'))))
if (putchar(~'!'&'a'))
if (putchar(~' '&'a'))
if (putchar(~' '&'b'))
if (putchar(~' '&'c'))
if (putchar(~' '&'d'))
if (putchar(~' '&'e'))
if (putchar(~' '&'f'))
if (putchar(~' '&'g'))
if (putchar(~' '&'h'))
if (putchar(~' '&'i'))
if (putchar(~' '&'j'))
if (putchar(~' '&'k'))
if (putchar(~' '&'l'))
if (putchar(~' '&'m'))
if (putchar(~' '&'n'))
if (putchar(~' '&'o'))
if (putchar(~' '&'p'))
if (putchar(~' '&'q'))
if (putchar(~' '&'r'))
if (putchar(~' '&'s'))
if (putchar(~' '&'t'))
if (putchar(~' '&'u'))
if (putchar(~' '&'v'))
if (putchar(~' '&'w'))
if (putchar(~' '&'x'))
if (putchar(~' '&'y'))
if (putchar(~' '&'z'))
if (putchar(~' '&'{'))
if (putchar(~' '&'|'))
if (putchar(~' '&'}'))
if (putchar(~' '&'~'))
if (putchar(~(~(~' '&'~')&~(~' ' & '!'))))
if (putchar(~('!'%' ')&'a'))
if (printf("abcdefghijklmnopqrstuvwxyz{|}~}|{zyxwvutsrqponmlkjihgfedcba"))
if (putchar(~('!'%' ')&'a'))
if (putchar(~(~(~' '&'~')&~(~' ' & '!'))))
if (putchar(~' '&'~'))
if (putchar(~' '&'}'))
if (putchar(~' '&'|'))
if (putchar(~' '&'{'))
if (putchar(~' '&'z'))
if (putchar(~' '&'y'))
if (putchar(~' '&'x'))
if (putchar(~' '&'w'))
if (putchar(~' '&'v'))
if (putchar(~' '&'u'))
if (putchar(~' '&'t'))
if (putchar(~' '&'s'))
if (putchar(~' '&'r'))
if (putchar(~' '&'q'))
if (putchar(~' '&'p'))
if (putchar(~' '&'o'))
if (putchar(~' '&'n'))
if (putchar(~' '&'m'))
if (putchar(~' '&'l'))
if (putchar(~' '&'k'))
if (putchar(~' '&'j'))
if (putchar(~' '&'i'))
if (putchar(~' '&'h'))
if (putchar(~' '&'g'))
if (putchar(~' '&'f'))
if (putchar(~' '&'e'))
if (putchar(~' '&'d'))
if (putchar(~' '&'c'))
if (putchar(~' '&'b'))
if (putchar(~' '&'a'))
if (putchar(~'!'&'a'))
if (putchar(~(~('~'%(~'!'&'a'))&~(~' ' & '!'))))
if (putchar('~'%(~'!'&'a')))
if (putchar('~'%(~' '&'a')))
if (putchar('}'%(~' '&'a')))
if (putchar('|'%(~' '&'a')))
if (putchar('{'%(~' '&'a')))
if (putchar('z'%(~' '&'a')))
if (putchar('y'%(~' '&'a')))
if (putchar('x'%(~' '&'a')))
if (putchar('w'%(~' '&'a')))
if (putchar('v'%(~' '&'a')))
if (putchar('u'%(~' '&'a')))
if (putchar('t'%(~' '&'a')))
if (putchar('s'%(~' '&'a')))
if (putchar('r'%(~' '&'a')))
if (putchar('q'%(~' '&'a')))
if (putchar('p'%(~' '&'a')))
if (putchar('o'%(~' '&'a')))
if (putchar('n'%(~' '&'a')))
if (putchar('m'%(~' '&'a')))
if (putchar('l'%(~' '&'a')))
if (putchar('k'%(~' '&'a')))
if (putchar('j'%(~' '&'a')))
if (putchar('i'%(~' '&'a')))
if (printf("'&%%$#"))
if (putchar('"'))
if (printf("! "))
{}
}

เซ็ตย่อย ascii คือ 32 ... 41 และ 97 ... 126

ฉันไม่แน่ใจว่าอนุญาตให้ใช้อักขระบรรทัดใหม่ในรหัสหรือไม่ ถ้าไม่ออกให้ลบออก


ไม่อนุญาตให้ขึ้นบรรทัดใหม่ แต่เนื่องจากคุณสามารถนำออกใน C ไม่ใช่ปัญหาที่นี่
งานอดิเรกของ Calvin

ดี ควรเป็น N ต่ำสุดสำหรับโซลูชัน C นอกเหนือจากการใช้ linker ที่ผิด - นั่นคือสิ่งที่สำคัญทั้งหมด () ...
Comintern

5

วน , N = 2, 6486 ไบต์

โดยใช้เพียง 2 01ตัวอักษร

000110000011110000100000100000100000100000100000100000100000100000100000100110000011100111100010000000111110000010001001111000100000001111100000100010011110001000000011111000001000100111100010000000111110000010001001111000100000001111100000100010011110001000000011111000001000100111100010000000111110000010001001111000100000001111100000100010011110001000000011111000001000100111100010000000111110000010001001111000100000001111100000100010011110001000000011111000001000100111100010000000111110000010001001111000100000001111100000100010011110001000000011111000001000100111100010000000111110000010001001111000100000001111100000100010011110001000000011111000001000100111100010000000111110000010001001111000100000001111100000100010011110001000000011111000001000100111100010000000111110000010001001111000100000001111100000100010011110001000000011111000001000100111100010000000111110000010001001111000100000001111100000100010011110001000000011111000001000100111100010000000111110000010001001111000100000001111100000100010011110001000000011111000001000100111100010000000111110000010001001111000100000001111100000100010011110001000000011111000001000100111100010000000111110000010001001111000100000001111100000100010011110001000000011111000001000100111100010000000111110000010001001111000100000001111100000100010011110001000000011111000001000100111100010000000111110000010001001111000100000001111100000100010011110001000000011111000001000100111100010000000111110000010001001111000100000001111100000100010011110001000000011111000001000100111100010000000111110000010001001111000100000001111100000100010011110001000000011111000001000100111100010000000111110000010001001111000100000001111100000100010011110001000000011111000001000100111100010000000111110000010001001111000100000001111100000100010011110001000000011111000001000100111100010000000111110000010001001111000100000001111100000100010011110001000000011111000001000100111100010000000111110000010001001111000100000001111100000100010011110001000000011111000001000100111100010000000111110000010001001111000100000001111100000100010011110001000000011111000001000100111100010000000111110000010001001111000100000001111100000100010011110001000000011111000001000100111100010000000111110000010001001111000100000001111100000100010011110001000000011111000001000100111100010000000111110000010001001111000100000001111100000100010011110001000000011111000001000100111100010000000111110000010001001111000100000001111100000100010011110001000000011111000001000100111100010000000111110000010001001111000100000001111100000100010011110001000000011111000001000100111100010000000111110000010001001111000100000001111100000100010011110001000000011111000001000100111100010000000111110000010001001111000100000001111100000100010011110001000000011111000001000100111100010000000111110000010001001111000100000001111100000100010011110001000000011111000001000100111100010000000111110000010001001111000100000001111100000100010011110001000000011111000001000100111100010000000111110000010001001111000100000001111100000100010011110001000000011111000001000100111100010000000111110000010001001111000100000001000011110000010001001111000100000001000011110000010001001111000100000001000011110000010001001111000100000001000011110000010001001111000100000001000011110000010001001111000100000001000011110000010001001111000100000001000011110000010001001111000100000001000011110000010001001111000100000001000011110000010001001111000100000001000011110000010001001111000100000001000011110000010001001111000100000001000011110000010001001111000100000001000011110000010001001111000100000001000011110000010001001111000100000001000011110000010001001111000100000001000011110000010001001111000100000001000011110000010001001111000100000001000011110000010001001111000100000001000011110000010001001111000100000001000011110000010001001111000100000001000011110000010001001111000100000001000011110000010001001111000100000001000011110000010001001111000100000001000011110000010001001111000100000001000011110000010001001111000100000001000011110000010001001111000100000001000011110000010001001111000100000001000011110000010001001111000100000001000011110000010001001111000100000001000011110000010001001111000100000001000011110000010001001111000100000001000011110000010001001111000100000001000011110000010001001111000100000001000011110000010001001111000100000001000011110000010001001111000100000001000011110000010001001111000100000001000011110000010001001111000100000001000011110000010001001111000100000001000011110000010001001111000100000001000011110000010001001111000100000001000011110000010001001111000100000001000011110000010001001111000100000001000011110000010001001111000100000001000011110000010001001111000100000001000011110000010001001111000100000001000011110000010001001111000100000001000011110000010001001111000100000001000011110000010001001111000100000001000011110000010001001111000100000001000011110000010001001111000100000001000011110000010001001111000100000001000011110000010001001111000100000001000011110000010001001111000100000001000011110000010001001111000100000001000011110000010001001111000100000001000011110000010001001111000100000001000011110000010001001111000100000001000011110000010001001111000100000001000011110000010001001111000100000001000011110000010001001111000100000001000011110000010001001111000100000001000011110000010001001111000100000001000011110000010001001111000100000001000011110000010001001111000100000001000011110000010001001111000100000001000011110000010001001111000100000001000011110000010001001111000100000001000011110000010001001111000100000001000011110000010001001111000100000001000011110000010001001111000100000001000011110000010001001111000100000001000011110000010001001111000100000001000011110000010001001111000100000001000011110000010001001111000100000001000011110000010001001111000100000001000011110000010001001111000100000001000011110000010001001111000100000001000011110000010001001111000100000001000011110000010001001111000100000001000011110000010001001111000100000001000011110000010001001111000100000001000011110000010001001111000100000001000011110000010001001111000100000001000011110000010001001111000100000001000011110000010001001111000100000001000011110000010001001111000100000001000011110000010001001111000100000001000011110000010001001111000100000001000011110000010001001111000100000001000011110000010001001111000100000001000011110000010001001111000100000001000011110000010001001111000100000001000011110000010001001111000100000001000011110000010001000001100

ผลผลิต:

 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"! 

ฉันคิดว่าฉันสามารถตีกอล์ฟได้มากกว่าโดยใช้ลูป แต่การเข้ารหัสด้วย 0s และ 1s นั้นแย่มากดังนั้นฉันจะไม่ทำ

แสดงความคิดเห็น

00011000001111 // init math.val to O
0000100000100000100000100000100000100000100000100000100000100 // math.val to 32, mem to 32
110000 // set IO to print
0111001111000100000001111100000100 // print ascii(32), mem to 33
01001111000100000001111100000100 // print ascii(33), mem to 34
01001111000100000001111100000100 // print ascii(34), mem to 35
01001111000100000001111100000100 // print ascii(35), mem to 36
                                 // skipped
01001111000100000001111100000100 // print ascii(l23), mem to l24
01001111000100000001111100000100 // print ascii(l24), mem to l25
01001111000100000001111100000100 // print ascii(l25), mem to l26
0100 // print ascii(l26)
111100010000000100001111000001000100 // mem to l25, print ascii(l25)
111100010000000100001111000001000100 // mem to l24, print ascii(l24)
111100010000000100001111000001000100 // mem to l23, print ascii(l23)
                                     // skipped
111100010000000100001111000001000100 // mem to 34, print ascii(34)
111100010000000100001111000001000100 // mem to 33, print ascii(33)
111100010000000100001111000001000100 // mem to 32, print ascii(32)
0001100 // KTHXBAI

หมายเหตุว่ามีOและlเป็นและ01


4

Python 2.7 N = 45 = 42 + 3

การใช้งานนี้ทุกประเภทและถ่มน้ำลายออกมากกว่าstring.printable stdoutฉันบันทึกไม่กี่ตัวอักษรโดยการใส่.ในstdout.writeโดยใช้evalและสตริง formating ใช้ordค่าของตัวละครที่ฉันสามารถใช้

from string import printable
from sys import stdout
eval("map(stdout%swrite,sorted(printable,None,ord))"%chr(ord('+') + ord('z')-ord('w') ))
print ""
eval("map(stdout%swrite,reversed(sorted(printable,None,ord)))"%chr(ord('+') + ord('z')-ord('w') ))

ออกไปพร้อมกับเก่า - N = 49 = 46 + 3

น่าเสียดายที่ในขณะที่ไพ ธ อนรวมstring.printableรายการสิ่งนี้ไม่ได้อยู่ในลำดับ ASCII และไม่มีวิธีการใช้งานโดยไม่มี a *หรือ a .ดังนั้นจึงใช้ตัวอักษรน้อยลงในการทำด้วยตนเอง

ใช้ช่วงตัวละคร:

abcdefghijklmnopqrstuvwxyz{|}~ AND   !"#$%&'()*+,-.

print ''.join((chr(i)
  for i in range(
    len('xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'),
    len('xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx')
  )))
print ''.join((chr(i)
  for i in range(
    len('xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'),
    len('xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'),
    -len('x')
  )))

รุ่นที่ชัดเจน: N = 63 = 60 + 3

นี่เป็นเวอร์ชั่นที่ชัดเจนโดยใช้ช่วงอักขระ:

[\]^_`abcdefghijklmnopqrstuvwxyz{|}~   AND   !"#$%&'()*+,-./01234567 `:

print ''.join([chr(i) for i in range(0x20,0x7E)])
print ''.join(reversed([chr(i) for i in range(0x20,0x7E)]))

แสดงความคิดเห็นเล็กน้อย แต่คุณไม่ได้รวม 1 ไว้ในช่วงอักขระแรกของคุณ คุณทำให้ฉันสงสัยในขณะที่ทำไมคุณต้องมี 0
Dunno

@ Dunno ขอบคุณที่ชี้ให้เห็น แต่ฉันไม่รู้ว่าทำไมฉันถึงใช้ 1 เมื่อlen('x')ช่วยฉันอีก 2 ตัวอักษร

ฉันเพิ่งรู้ว่ารหัสของคุณใช้การขึ้นบรรทัดใหม่ ไม่อนุญาตให้ทำเช่นนี้เนื่องจากไม่สามารถพิมพ์ ASCII ได้
งานอดิเรกของ Calvin

@ งานอดิเรกของ Calvin น่าเศร้าหลามไม่ค่อยเป็นมิตรกับกอล์ฟฉันจะเห็นสิ่งที่ฉันสามารถทำได้

1
ดูเหมือนว่าimportโซลูชันของคุณจะใช้งานได้หากคุณมี;เท่านั้นซึ่งจะเพิ่มอักขระจำนวนมาก
Gabe

4

C; N = 61 = 58 + 3

เพื่อชดเชยการใช้ชุดย่อยที่มีขนาดใหญ่ฉันเล่นรหัสของฉัน

a;main(d){for(;d&&++a,d||--a;putchar(a+31),a-95||--d);}

ชุดย่อย ASCII คือ 32 ... 59 และ 97 ... 126

มันเป็นความท้าทายที่สนุกที่จะหลีกเลี่ยง=ตัวละคร!


โอ้ดี แต่คำตอบของ anatolyg ;ชาญฉลาดพอที่จะหลีกเลี่ยง คุณอาจจะสามารถใช้มันเพื่อขยายคำตอบของคุณโดยไม่ต้องกลายเป็นสำเนาของคำตอบอื่น
hvd

1
ไม่ ......... ;-)
Anatolyg

3

Python 2.7 N = 28 + 12 + 3 = 43

ใช้ตัวอักษรcdefghijklmnopqrstuvwxyz{|}~แล้วล้อมรอบไป!"#$%&'()*+

exec "print ''"
   + chr(ord('+') + len('xxx'))        # .
   + "join(chr(i) for i in r"
   + chr(ord('c') + ~len('x'))         # a
   + "nge(ord(' ')"                    # 32
   + chr(ord('+') + len('x'))          # ,
   + " ord('~') + len('x'))) + ''"     # 127
   + chr(ord('+') + len('xxx'))        # .
   + "join(chr(i) for i in r"
   + chr(ord('c') + ~len('x'))         # a
   + "nge(ord('~')"                    # 126
   + chr(ord('+') + len('x'))          # ,
   + " ord(' ') + ~len('')"            # 31
   + chr(ord('+') + len('x'))          # ,
   + " + ~len('')))"                   # -1

เพื่อหลีกเลี่ยงการใช้,.-ฉันต้องใช้เทคนิคบางอย่าง ฉันใช้execเพื่อให้สามารถให้รหัสเป็นสตริงซึ่งได้รับอนุญาตให้ผมใช้chr(ord('+') + len('xxx'))สำหรับ.และสำหรับchr(ord('+') + len('x')) ,สถานที่ใด ๆ ที่ฉันต้องการ -1 ผมใช้ ~ 0 ~len('')ในรูปแบบของ เพื่อหลีกเลี่ยงaฉันใช้chr(ord('c') + ~len('x'))(99 - 2)

สตริงที่ได้รับการประกอบมี N = 48 โดยใช้ตัวอักษรabcdefghijklmnopqrstuvwxyz{|}~แล้วล้อมรอบไป!"#$%&'()*+,-.

print ''.join(chr(i) for i in range(ord(' '), ord('~') + len('x')))
    + ''.join(chr(i) for i in range(ord('~'), ord(' ') + ~len(''), + ~len('')))

โปรดทราบว่าบรรทัดใหม่และความคิดเห็นมีไว้เพื่อให้สามารถอ่านได้เท่านั้น


2

Ruby - N = 48

ให้ทับทิมเป็นทับทิมและโอบกอดบทลงโทษโดยรอบ
N = 48 <- 15 ('' - '.') + 30 ('a' - '~') + 3

eval "for c in ' '..'~' do putc c end #{('i'.ord-'.'.ord).chr} for c in ' '..'~' do putc ('~'.ord+' '.ord-c.ord).chr end"

หรือ

eval "(' '..'~').each { |c| putc c } #{('i'.ord-'.'.ord).chr} (' '..'~').each { |c| putc ('~'.ord+' '.ord-c.ord).chr }"



เก่า:
N = 72 {การให้คะแนนแบบเส้นตรง} <- 72 ('.'-' u ') + การขึ้นบรรทัดใหม่ที่ไม่ถูกต้อง

format = 67.chr
format << 42.chr
a = []
for i in 33..126 do a << i end
t = a.dup
for i in 33..126 do a << t.pop end
puts a.pack format

มีบางอย่างที่นี่เพื่อหลีกเลี่ยงการ 'v' ใน "ย้อนกลับ" ฉันทิ้งไว้เพราะฉันชอบแฮ็คแพ็ค ("C *")


1

x86_64 รหัสเครื่องจักรรูปแบบ Mach-O

N = 2, 32768 ตัวอักษร (ใหญ่เกินไปที่จะพอดีกับขีด จำกัด msg)

แก้ไข: Pastebin ไม่ทำงานดังนั้นคุณสามารถค้นหาข้อความเต็มได้ที่: http://www.ionoclast.com/random/golf.bin.txt


รหัสทั้งหมดของคุณมีอยู่ที่ใดที่หนึ่งหรือไม่ ถ้าไม่คุณสามารถโพสต์โค้ดแบบเต็มได้จากภายนอก ตัวอย่างเช่นในpastebin.com
Doorknob

ปฏิบัติการที่รวบรวมได้คือ 33455 บิตหรือไบต์? โดยปกติคุณจะไม่มีบิตเป็นจำนวนคี่และ Clang และ GCC จะไม่สร้างไฟล์เอ็กซีคิวต์เล็ก ๆ เหล่านี้โดยไม่ต้องใช้เทคนิคเพื่อตัดตารางข้อยกเว้น โปรแกรมนี้รวบรวมไปที่ 8520 ไบต์รวมถึงตารางคลาย: การ#include <unistd.h> int main() { char const s[] = "~}|{zyxwvutsrqponmlkjihgfedcba`_^]\\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#\"! !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~"; write( 1, s, sizeof s ); } ชุมนุมควรทำสิ่งที่ดีกว่ามาก
Potatoswatter

จริงๆแล้วมันคือ 4k == 32768 ตัวอักษรไบนารี ฉันคิดว่าฉันพบข้อผิดพลาดในรหัสการนับของ SO
Ionoclast Brigham

1

Ruby, N = 27

การใช้งานผ่าน$>

$><<(''<<32<<33<<34<<35<<36<<37<<38<<39<<40<<41<<42<<43<<44<<45<<46<<47<<48<<49<<50<<51<<52<<53<<54<<55<<56<<57<<58<<59<<60<<61<<62<<63<<64<<65<<66<<67<<68<<69<<70<<71<<72<<73<<74<<75<<76<<77<<78<<79<<80<<81<<82<<83<<84<<85<<86<<87<<88<<89<<90<<91<<92<<93<<94<<95<<96<<97<<98<<99<<100<<101<<102<<103<<104<<105<<106<<107<<108<<109<<110<<111<<112<<113<<114<<115<<116<<117<<118<<119<<120<<121<<122<<123<<124<<125<<126<<126<<125<<124<<123<<122<<121<<120<<119<<118<<117<<116<<115<<114<<113<<112<<111<<110<<109<<108<<107<<106<<105<<104<<103<<102<<101<<100<<99<<98<<97<<96<<95<<94<<93<<92<<91<<90<<89<<88<<87<<86<<85<<84<<83<<82<<81<<80<<79<<78<<77<<76<<75<<74<<73<<72<<71<<70<<69<<68<<67<<66<<65<<64<<63<<62<<61<<60<<59<<58<<57<<56<<55<<54<<53<<52<<51<<50<<49<<48<<47<<46<<45<<44<<43<<42<<41<<40<<39<<38<<37<<36<<35<<34<<33<<32)

0

Scala, N = 69

\u0028\u0027\u0020\u0027\u0074\u006f\u0027\u007e\u0027\u0029\u002b\u002b\u0028\u0027\u007e\u0027\u0074\u006f\u0027\u0020\u0027\u0029

ใช้อักขระ01246789\bdefu(ยูนิโค้ดหนี) เป็นวิธีการเขียนที่(' 'to'~')++('~'to' ')map printสวยงาม

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