สวัสดีชาวโลก! ด้วยอักขระกึ่งทั่วไป


28

อย่างที่คุณบางคนอาจรู้เพื่อรับภาษาไปสู่Try It Online ที่ยอดเยี่ยมของ Dennis ! สวัสดีโลก! ต้องมีโปรแกรม เมื่อเร็ว ๆ นี้เดนนิสได้ผลักดันวิธีการโหลดโปรแกรมเหล่านี้จากเว็บไซต์ นี่คือ JSON pastebinของตัวละครที่ใช้ในโปรแกรมเหล่านั้นตามความถี่ ณ วันที่ 27 กรกฎาคม 2017

ตัวละครเหล่านี้บางตัวต้องการความรักดังนั้นความท้าทายของคุณคือแสดงผล Hello, World! (ควรใช้ภาษาที่เกี่ยวข้องในกระบวนการนี้) โดยใช้เฉพาะอักขระที่ระบุด้านล่าง ตัวละครเหล่านี้เป็นตัวละครทั้งหมดที่ใช้ระหว่าง10และ99(รวม) ครั้งพร้อมกับตัวละครที่พบบ่อยที่สุดสองตัว0และเพราะฉันรู้สึกดี

0 $&*?ABCDEFGIJKLNPQRSTUXYZ\`gjkqwxyz{}÷≤≥=║_

การใช้อักขระของคุณควรเป็นไปตามลักษณะที่ปรากฏในโปรแกรมปกติไม่ใช่ตามจุดโค้ดหรือค่าไบต์

คุณต้องใช้อักขระอย่างน้อยหนึ่งตัวจากชุดนั้นโปรแกรมความยาว 0 รายการจึงไม่ถูกต้อง

นี่คือดังนั้นคำตอบที่สั้นที่สุดในจำนวนไบต์ชนะ

JSFiddle เพื่อตรวจสอบว่าคำตอบของคุณถูกต้องหรือไม่


ฉันจะส่งออกพื้นที่ในบรรทัดถัดไปได้หรือไม่
dzaima

@dzaima หากคุณไม่สามารถส่งออกโดยไม่มีช่องว่างให้ทำ หากการกำจัดพื้นที่เพียงแค่ใช้ไบต์มากขึ้นให้กำจัดพื้นที่
สตีเฟ่น

มีมติฉันทามติของชุมชน (หรือ dis / สงเคราะห์เฉพาะที่นี่) สำหรับตัวละครที่ไม่ได้พิมพ์ออกมาสู่เอาท์พุท (STDOUT) หรือไม่? ไม่แน่ใจว่าฉันเคยเห็นมันเกิดขึ้นมาก่อน (และมันจะถูกมองข้ามได้ง่าย) แต่มันเปลี่ยนกลยุทธ์ของฉันอย่างมากที่นี่ ...
brhfl

@brhfl ไม่ว่าฉันรู้ - บรรทัดฐานเดียวคือบรรทัดใหม่ต่อท้ายมักจะได้รับอนุญาตคุณสามารถถามในการแชท
Stephen

คำตอบ:


6

SOGL V0.12 , 89 75 68 ไบต์

z{}xxxx≥x≥x≥xXUqXxq≤qq≤q *R_IIRq  q *R_I0II*IRqxXq≤qxqxq CR_0II÷Rq0*

ลองที่นี่!
หมายเหตุ: เมื่อใดก็ตามที่qมีการอ้างถึงหรือเอาท์พุทที่นี่จะไม่ปรากฏเป็น popping output (ใด ๆoOpP) ไม่สามารถใช้งานได้หรือเอาท์พุทขึ้นบรรทัดใหม่ที่เตรียมไว้

คำอธิบาย (ล้าสมัยสิ่งที่เปลี่ยนแปลงคือ "H" ถูกพิมพ์โดยใช้ตัวอักษรตัวอักษร):

 $             push "$"
  R_           convert to an array of ordinals, then push all the contents to the stack
    0II        push 0+1+1 = 2
       *       multiply by that
        R      convert to character
         q     output
          z    push the lowercase alphabet
           {}  iterate over it, pushing each char, and do nothing. Stack: ["H","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"]
stack manipulation:
 xxxx ["H","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r"]
 ≥    ["r","H","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q"]
 x    ["r","H","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o"]
 ≥    ["o","r","H","a","b","c","d","e","f","g","h","i","j","k","l","m","n"]
 x    ["o","r","H","a","b","c","d","e","f","g","h","i","j","k","l"]
 ≥    ["l","o","r","H","a","b","c","d","e","f","g","h","i","j","k"]
 xxx  ["l","o","r","H","a","b","c","d","e"]
 q    output the "e"
 ≤    ["o","r","H","a","b","c","d","e","l"]
 qq   output the "l" twice
 ≤    ["r","H","a","b","c","d","e","l","o"]
 q    output the "o"

*                       push "*",
 R_                     convert to an array of ordinals, then push all to stack
   II                   increase by 2
     R                  convert back to character
      q                 output
         q              push a space, then output
           *            push "*"
            R_          convert to an array of ordinals, then push all to stack
              I         increase that
               0II      push 0+1+1 = 2
                  *     multiply
                   I    increase
                    Rq  output as character
stack manipulation: (starting stack: ["r","H","a","b","c","d","e","l","o",","," ","W"])
 x  ["r","H","a","b","c","d","e","l","o",","]
 X  ["r","H","a","b","c","d","e","l","o"]
 q  output the "o"
 ≤  ["H","a","b","c","d","e","l","o","r"]
 q  output the "r"
 x  ["H","a","b","c","d","e","l"]
 q  output the "l"
 x  ["H","a","b","c","d"]
 q  output the "d"

C            push "C"
 R_          convert to ordinal as before
   0II÷      floor divide by 2
       Rq    output as character
         0*  multiply by 0 so nothing extra would be outputted

สนุกจริง: ตัวละครทั้งหมดจากตัวละครที่ได้รับอนุญาตอยู่ใน SOGLs codepage: D


ดังนั้น ... คุณมีงานที่มั่นคงในฐานะนักพัฒนามืออาชีพใช่ไหม เพราะแดงนี่เป็นภาษาที่ยอดเยี่ยม ... นอกจากนี้ล่าม JS ที่ดีคุณเสร็จเมื่อคืนนี้ :) คุณสามารถเริ่มโพสต์เอกสารสำหรับบางภาษาได้หรือไม่ หรือข้อความแชทส่วนตัวถึงฉันที่ตั้งของเอกสารดังกล่าว? SOGL ฆ่ามัน
Magic Octopus Urn

@ MagicOctopusUrn 1) ไม่นะฉันอายุ 15 2) โดยส่วนตัวแล้วฉันไม่ชอบวิธีที่มันทำคือสิ่งที่มีประโยชน์มากที่สุดที่ฉันเคยทำ 3) ล่าม JS อยู่ที่นั่นสักพัก 4) เอกสารล่าสุดของ SOGL (ถ้าคุณสามารถเรียกพวกเขาได้) อยู่ที่นี่รางบางสิ่ง (เช่นpalenChars.txt) อัปเดตที่นี่
dzaima

ยินดีด้วยกับการลดจำนวนไบต์อีกครั้ง! ฉันไม่คิดว่าฉันจะลดความจริงลงได้เลย !!
Dom Hastings

23

Perl 5 , 76 ไบต์

}{${$_=$`x?B?}{?\w$?}{$_=qq{Lg\LLL$&= w$&RLD=}&qq=y}\LLL$&L _$&RLDA=}=$_=\*G

สิ่งนี้ใช้คุณสมบัติที่เลิกใช้แล้ว แต่ทำงานในเครื่องของฉัน (ซึ่งเป็นเวอร์ชั่น 5.18.2 ตามที่ระบุไว้) ใน Perl รุ่นเก่า?\w?เป็นคำพ้องความหมาย/\w/ซึ่งทำให้ฉันสามารถเข้าถึงการจับคู่ regexp และฉันมีตัวอักษรมากพอสำหรับ$&(การจับคู่ครั้งล่าสุด) และ$`(ข้อความก่อนหน้าการจับคู่ครั้งล่าสุด) Oฉันต้องการเหล่านี้เพื่อให้สามารถที่จะได้รับ ฉันสร้างสิ่งนี้เป็นการสร้างการglobอ้างอิง ( $_=\*Gซึ่งส่งไปยังเซนต์คิตส์และเนวิสเป็นสิ่งที่ต้องการGLOB(0x7ffb728028d0) ) เมื่ออยู่ใน$_แล้ว?B?จะจับคู่Bและ$`จะมีGLOฉันสามารถจับคู่กับ\w$สิ่งที่จะเก็บOไว้$&ซึ่งถูกแทรกเข้าไปในสายที่ผมทำงาน stringwise-AND \Lเพื่อสร้างส่วนที่เหลือของข้อความที่ร่างกายของสตริงที่มีการใช้

ลองออนไลน์! - ใช้/\w/แทน?\w?Perl เวอร์ชั่น TIO นั้นใหม่เกินไป


Perl 5 , 65 ไบต์

นี่มันโกงมากขึ้นเพราะมันใช้ชื่อไฟล์ของ TIO (ซึ่งก็คือ.code.tio) ดังนั้นฉันไม่คิดว่านี่จะเป็นการแข่งขัน แต่ฉันมีความสุขกับผลลัพธ์!

}{${$_=$0}{?\w$?}{$_=qq{Lg\LLL$&= w$&RLD=}&qq=y}\LLL$&L _$&RLDA=}

ลองออนไลน์!


ฉันไม่ได้พูดอะไรเกี่ยวกับเนื้อหาของธงดังนั้น-pก็ดี เป็นงานที่ดีนี่คือสิ่งที่ฉันหวังไว้เมื่อฉันถามสิ่งนี้ :)
สตีเฟ่น

1
อย่างไร ... อะไร ... ...
โอกซ์

@ StepHen ฉันดีใจที่มีภาระหน้าที่! ฉันสนุกกับเรื่องนี้จริงๆ ฉันดีใจที่คุณไม่ได้ลงโทษธงเช่นกันฉันจะอัปเดตโพสต์ของฉัน ขอบคุณ!
Dom Hastings

@ อ็อกซ์ฉันดีใจที่ได้เอฟเฟกต์นั้น!
Dom Hastings

คุณแน่ใจหรือไม่ว่าไม่จำเป็นต้องเพิ่ม 15 ไบต์ <3
Magic Octopus Urn

10

เอกภาพ , 7 * 10 182ไบต์

เอกคือ Brainfuck ถูกแปลงเป็นไบนารีแปลงเป็นเอกโดยใช้0เป็นตัวนับ โดยพื้นฐานแล้วมันจะรวมโปรแกรม Brainfuck เป็นตัวเลขและผลลัพธ์คือจำนวนของ0s พวกเขามักจะเป็นโปรแกรมที่มีขนาดใหญ่มาก

ฉันจะไม่วางโปรแกรมที่นี่เพราะฉันไม่รู้ว่าข้อความ SE อนุญาตให้เท่าไหร่ แต่ฉันพนันได้ว่ามันน้อยกว่านี้ ฉันจะวางเลขศูนย์ที่แม่นยำในคำตอบนี้แทน

708184005756841022918598670049178934705323143517361395031673227349803938380119378597780037353721967636097362645175347036417214959141923667629285233360306016978751166690464736541968556

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


2
"ฉันไม่รู้ว่าข้อความ SE อนุญาตให้เท่าไร" อย่างน้อยก็ไม่ใช่ 7 * 10¹⁸²ซึ่ง waaaaaay ใหญ่กว่า 65536
Erik the Outgolfer

9

05AB1E , 137 106 95 ไบต์

X00X00DXX00DXX00XX0X0X00D0XXXX0X00X00XXX00XXX0XXXXXX00XXXXX0XXXX00D0X000DD00XXJC000gDD0000g***B

ลองออนไลน์!

-31 ขอบคุณ @Adnan ที่ชี้ให้เห็นว่าฉันสามารถใช้ฐาน 108 ได้

- ?? ขอบคุณ @Riley ที่ชี้ให้เห็นบางสิ่งผิดปกติ


รุ่นเก่า (วิธีที่แตกต่าง):

05AB1E , 211 186 166 ไบต์

0g00g000000000gUX000000gXX00000g000g00g000gD0000g0 000g00000gX00000gX00000g0 00000g00000000g0000000g00g00000000gD000000gX0000000g0g00000gUXJX00000000000000000g000g**B

ลองออนไลน์!


ฮ่าฮ่า! และที่นี่ฉันคิดว่า ESOLANGS อาหารไม่น่าเชื่อถือ!


ก่อนอื่นเราจะได้ 255 เก็บไว้ใน X:

00g               # Push 2 (length of 00).
   00000g         # Push 5 (length of 00000).
         00000g   # Push 5.
               JU # Join to 255 and store in X.

จากนั้นใช้เคล็ดลับความยาวเท่ากันที่เราผลักดัน: 1296995323340359595058728869715

0g00g000000000g000000g000000000g000000000g00000g000g00g000g000g0000g0 000g00000g000000000g00000g000000000g00000g0 00000g00000000g0000000g00g00000000g00000000g000000g000000000g0000000g0g00000gJ

ที่ที่เราเพิ่งใช้0<space>แทนเล่ห์อุบายยาวสำหรับศูนย์

จากนั้นในที่สุดเราดัน 255 ที่เราจัดเก็บและแปลงจาก 255 เป็นฐาน 10 :

X  # Push stored 255.
 B # Convert to base 255.

ยังคงเล่นกอล์ฟโดยใช้ตัวอักษรอื่นที่อนุญาตและการทำสำเนาจะใช้เวลาไม่กี่นาที


8

Beatnik , 148 ไบต์

K QQQQQQQG ZD XA K QQJA KD ZD XA K KG KD ZD ZD ZD XA XA K B KD ZD XA K QQQQF ZD ZD XA K QQQD XA K A Z KD XA ZD XA K B KD XA ZD XA K J Z XA K QQQB XA

ลองออนไลน์!

คำอธิบาย

Beatnik ยึดคำสั่งที่ดำเนินการโดยยึดตามคะแนนข่วนของคำ นี่คือคำอธิบายสั้น ๆ :

Code         Scrabble Score   Explanation

K            5                push the scrabble score of the next word
QQQQQQQG     72               72 ['H']
ZD           12               pop a value; push it back twice
XA           9                pop a value; print its ASCII character
KD           7                pop two values; push their sum
Z            10               pop two values; push their difference

8

Moorhens (v2.0), 3423 983 923 866 749 716 ไบต์

ฉันคิดว่าสิ่งนี้สามารถเล่นกอล์ฟได้เล็กน้อย Moorhens ไม่ใช่ภาษาที่ใช้งานง่าย

xU xU xU xU xU xU xU xU xU xU xU xU xU xU xU xU xU xU xU xU xU xU xU xU xU xU xU xU xU xU xU xU KA xU xU xU xU xU xU xU xU xU xU xU xU KA AA xU xU xU xU xU xU xU xU xU xU xU xU xU xU xU xU xU xU xU xU xU xU xU xU xU xU xU xU KA xU xU xU xU xU xU xU xU xU xU xU xU xU xU xU xU xU xU xU xU xU xU xU xU xU xU xU xU xU KA xU xU xU xU xU xU xU KA KA xU xU xU AA AA AA AA AA KA xU AA KA xU xU xU xU xU xU xU xU xU xU xU xU xU xU xU xU xU xU xU xU xU xU xU xU xU xU xU xU xU xU xU xU xU xU xU xU xU xU xU xU xU xU xU xU xU xU xU xU xU xU xU xU xU xU xU KA xU xU xU xU xU xU xU xU xU xU xU xU xU xU xU xU xU xU xU xU xU xU xU xU KA xU xU xU KA XI XI XI XI XI XI KA XI XI XI XI XI XI XI XI AA AA AA AA AA AA AA AA AA AA AA AA

คำอธิบาย

Moorhens เป็นภาษาที่ใช้คำในพจนานุกรม แต่ละคำนั้นสอดคล้องกับการดำเนินการตามแฮช ห้าการดำเนินงานใช้ที่นี่เป็นxU, ER, XI, KAและAA

  • xU เพิ่ม TOS
  • ER วางศูนย์ใหม่บนสแต็ก
  • XI ลดค่า TOS
  • KA ทำซ้ำ TOS
  • AA หมุน TOS ไปที่ด้านล่าง

เราผลักดันจดหมายแต่ละฉบับด้วยแอปพลิเคชันที่ประสบความสำเร็จในการดำเนินการ


5
'การปฏิบัติการสองอย่าง' - ฉันไม่เชี่ยวชาญใน esolangs แต่แน่นอนว่ามันเป็นปฏิบัติการห้าอย่าง?
boboquack


1
เชื่อมโยงไปยังภาษา?
Leun Nun

ฉันคิดว่ามันเป็นอย่างนั้น github.com/Wheatwizard/Moorhen
เรียกซ้ำ

5

Glypho , 480 ไบต์

AABCABABABBAABABAABCABBAABABABBCABBAABABABABABABABBAABBAABABABABABABABBAABBAAABCABBAABABAABCAABCABBAABABABBCABABABBAABBAABABAABCAABCABBAAABCABBAABABABBAABBAABABAABCABCAABABABABABBAABBAABBAABABAABCABAAABABAABAABBAABCAABABABBAABBAAABCAABCABBAABABABBCABABABBCABABABBAABAAABABAABAABABABBAABABABBAABABABAAABABAABAABBAABABABBAAABCABBAABABAABCABCAABABABABABBAABBAABBAABABAABCABCAABAAABABAABAABBAABABABBCAABCABBAAABCAABCABBAAABCABBAABABABBAABABABBCABABABBAABAAABABABCAABBAAABAABACABBBABCB

ลองออนไลน์!



4

JavaScript สองขนาด 318 ไบต์

ฉันไม่แน่ใจว่าได้รับอนุญาตหรือไม่ฉันไม่สามารถทำได้โดยใช้ล่าม JavaScript หนึ่งครั้ง มันคล้ายกับการใช้eval()แต่ฉันใช้ล่ามสองครั้งแทน: (ลองใช้ในคอนโซลเพื่อรับผลการพิมพ์กลับมา)

`\`\\x${0xA*0xA&0xC}${0xA&0xC}\\x${0xA*0xF&0xF}${0xB*0xF&0xF}\\x${0xA*0xF&0xF}C\\x${0xA*0xF&0xF}C\\x${0xA*0xF&0xF}F\\x${0xE*0xF&0xF}C\\x${0xE*0xF&0xF}${0}\\x${0xB*0xF&0xF}${0xB*0xB*0xF&0xF}\\x${0xA*0xF&0xF}F\\x${0xB*0xB*0xF&0xF}${0xE*0xF&0xF}\\x${0xA*0xF&0xF}C\\x${0xA*0xF&0xF}${0xA*0xA&0xC}\\x${0xE*0xF&0xF}${0**0}\``

ลองออนไลน์!

ประเมินเป็น:

`\x48\x65\x6C\x6C\x6F\x2C\x20\x57\x6F\x72\x6C\x64\x21`

ลองออนไลน์!

ซึ่งประเมินว่า Hello, World!


3

Smallf ** k , 266 ไบต์:

zJ$NJ`ZZx*gQYQQ{zqyKKUkUR?AS`zB`JB&UCKCIxQ_G0*000FzzJ&?YwkC\qqgZ`xYQyC}DgY_&_S}KPZ\&?SGAE&{Gw_w} GAgA{qT{gC&`qI?xwCNQwgR}?{*QEwQUj&BT&jR__IJJIqUqAPF0yICXESL?AYR QIAFU& yYwE&$\Njj B0T*F j$?kCzQk*}U}UgI$}Ew_yDL`qYI*E_G}SCjXDFNJKGNIGyIwA\BzLP`*zCILGCNqyYZyq? GwN{q{gKSj

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


1
@tallyallyhuman คุณพูดถูก ฉันจะเปลี่ยนสิ่งนั้น ฉันจะลบอักขระหลายไบต์ มันไม่มีเพจรหัสจริงๆ มันก็จะต้องมีการเก็บไว้เป็น 1 และ 0 (1 สำหรับแปลกordและ 0 สำหรับแม้แต่ord) เพื่อให้คุณสามารถพูดนี้เป็น 33.25 ไบต์ xD
HyperNeutrino

การใช้อักขระของคุณควรเป็นไปตามลักษณะที่ปรากฏในโปรแกรมปกติไม่ใช่ตามจุดโค้ดหรือค่าไบต์
KSmarts

@ มาร์กฉันจะขอให้ OP เกี่ยวกับเรื่องนั้น
HyperNeutrino

@KSmarts อะไรที่ว่าก็คือว่าถ้าภาษาที่มีเพจรหัสที่แตกต่างกันและเช่น'5'ตรงบริเวณจุดโค้ดของปกติที่คุณไม่ได้รับอนุญาตให้ใช้งาน'A' '5'
HyperNeutrino

@ มาร์กที่เพิ่งหมายความว่าถ้าคุณมีเพจรหัสที่ไม่เป็นมาตรฐานอักขระเหล่านี้จะย้ายไปรอบ ๆ บนเพจรหัสนั้น คุณยังสามารถใช้ codepoint ของพวกเขาเป็นส่วนหนึ่งของโปรแกรมของคุณ
Stephen

3

Pyke , 133 144 ไบต์

? BXKKKKRKRKRK\CkJ00q}}}XEjTX}G_E\E\L\LkJjRT}}XRGREkJjR 00q}R? B_RE\ \wkJjRT}}XRGRE\R\L\DkJjRZ0q}}R? B_RER? JR? KREZjZ0q}AREkJjRT}}RG_RE00q}}RAA

ลองออนไลน์!

ความยุ่งเหยิงของโค้ดที่สามารถทำให้สั้นลงได้อย่างแน่นอน ... สร้างมันทีละตัว

? BXKKKKRKRKRK\CkJ - ".C" - A string that when evaled, gets the character at the point
00q}}}XEj - Construct 64 by doing `((0==0)*2*2*2)**2` and then eval, getting the "@" character and store it in `j`
TX}G_E - Get "h" using `@` by looking it up in the alphabet
\E\L\LkJ - "hELL"
jRT}}XRGREkJ - "hELLo"
jR 00q}R? B_RE  - ","
\ \wkJ - "hELLo, w"
jRT}}XRGRE\R\L\DkJ - "hELLo, woRLD"
jRZ0q}}R? B_RER? JR? KREZjZ0q}AREkJ - "hELLo, woRLD!"
jRT}}RG_RE00q}}RAA - "Hello, World!"

2

dc , 164 162 ไบต์

zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzS zzS?zzzzzzzzzzzzS$zzzzzzzzzzzzzzzzzzzzzzzzzzzzzPzzzzzzzzzzzzzzzzSwzzzzzzzzzzzzzzzPzzzzzzzzSLzPzPzzzzPL$PL PLwPzPzzzzPLLPAI*PL?P

ลองออนไลน์!

น่าจะเป็นวิธีที่ดีกว่า / น่าสนใจกว่า ฉันพยายามใช้เคล็ดลับ ASCII + 256 ที่dcมี แต่ก็ให้ผลลัพธ์อักขระเพิ่มเติมเช่นกัน (แม้ว่าพวกเขาจะไม่ได้พิมพ์) และเมื่อฉันได้ 'o' นายกรัฐมนตรีที่ยอดเยี่ยม 111 ฉันพบปัญหาแม้จะได้รับ ค่า 111+ (หลาย 256) ที่แยกได้อย่างหมดจด ดังนั้นนี่คือวิธีการแก้ปัญหาที่ตรงไปตรงมา (แม้ว่าจะเป็นที่ที่เป็นไปได้):

ในdc, zเป็นคำสั่งที่ผลักดันความลึกสแต็คลงบนสแต็คที่ นั่นหมายความว่าเราสามารถใช้มันเป็นส่วนเพิ่ม นี่คือวิธีที่ฉันจะสร้างมากที่สุดของค่า ASCII ของฉันสำหรับความท้าทายนี้ (พิมพ์ด้วยP) ซึ่งผมผลักดันเข้าสู่กองชื่อด้วยและป๊อปกลับไปยังกองหลักSL

dcช่วยให้คุณใช้ค่าฐานสิบหก AF แม้ในขณะที่อินพุตรัศมีเป็นทศนิยม (ค่าเริ่มต้น) โชคดีที่จดหมายฉบับแรกของเรา 72 คือผลคูณของ 12 ดังนั้นฉันบันทึกหนึ่งหรือสองไบต์ที่นี่โดยคูณ 6 * 12 แล้วพิมพ์ทันที ( zzzzzzzC*P) 164- ไบต์ของฉันใช้การคูณก่อนเพื่อให้ได้ 72 ('H') ซึ่งฉลาดเล็กน้อย แต่เป็นการพักจากการพยายามครั้งก่อนและเสียไบต์ ตอนนี้ฉันเริ่มต้นด้วยการเพิ่มและประหยัดพื้นที่เครื่องหมายอัศเจรีย์และเครื่องหมายจุลภาคซึ่งไม่เป็นระเบียบดังนั้นจึงยังไม่สามารถพิมพ์ได้ ต่อไปฉันมาที่ 'H' ซึ่งฉันพิมพ์ทันทีก่อนที่จะถึง 'W' ซึ่งฉันต้องบันทึกไว้ในภายหลัง

ฉันพิมพ์เมื่อฉันกดปุ่ม 'e' จากนั้นฉันเพิ่มขึ้นเป็น 'l' ฉันพิมพ์สองอันและบันทึกหนึ่งอัน เมื่อฉันทำให้มันไป 'O' ครั้งแรกที่ผมคิดว่าฉันต้องบันทึกหนึ่งในบรรดาภายหลัง แต่ทุกอย่างเป็นชนิดของในการสั่งซื้อที่จุดนี้ ฉันพิมพ์ 'o' ดึงจุลภาคพื้นที่และ 'W' ของฉันจากก่อนหน้านี้และตอนนี้ฉันกลับไปที่ 'o' ฉันพิมพ์สิ่งนี้และเพิ่มค่าที่จำเป็นสูงสุดสองสามค่าเป็น 'r' (114) ซึ่งฉันพิมพ์ก่อนที่จะโหลดและพิมพ์ 'l' ที่ฉันซ่อนไว้ก่อนหน้านี้

เกือบเสร็จแล้ว! 'd' คือค่า ASCII 100 ซึ่งทำได้ง่ายโดยการคูณ 10 * 10 (น้อยกว่าไบต์ที่เก็บไว้ก่อนหน้านี้และโหลดตอนนี้) ค่า Hex A10 Iที่เป็นสมุฎฐานป้อนข้อมูลของเราซึ่งเราสามารถดึงข้อมูลที่มีคำสั่ง คูณเหล่านั้นพิมพ์แล้วโหลดและพิมพ์เครื่องหมายอัศเจรีย์ของเราจากก่อนหน้า สวัสดีชาวโลก!

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