ASCII's 95 ตัวละคร ... 95 ภาพยนตร์คำพูด


119

อัปเดต:ผู้ชนะได้รับการตัดสินแล้ว แต่ความท้าทายยังไม่จบ!

ในที่สุดเกือบ 3 เดือนหลังจากคำถามเริ่มขึ้นมีคนยังคงเป็นผู้ตอบคำถามคนสุดท้ายนานกว่าหนึ่งสัปดาห์! ขอแสดงความยินดีกับjimmy23013ด้วยคำตอบ P1eqของเขา!

ยังคงมี แต่ 8 48KSaclwตัวอักษรที่เหลือ: หากใครมีความทะเยอทะยานจริงๆพวกเขาสามารถลองกับพวกนั้นต่อไปได้: D

ขอขอบคุณทุกคนที่เข้าร่วมโดยเฉพาะอย่างยิ่งพวกคุณที่ทำให้การแข่งขันดำเนินไปอย่างยาวนานด้วยคำตอบมากมายโดยเฉพาะKennyTM ที่มีคำตอบมากถึง 25 คำตอบ !!

นอกจากนี้ขอขอบคุณทุกคนที่เก็บรายการคำตอบล่าสุดเป็นความช่วยเหลือที่ยอดเยี่ยม :) (โดยเฉพาะเมื่อฉันไม่อยู่ที่ SE มาสองสามเดือน: P)


คำถามเดิม:

ในปี 2005 สถาบันภาพยนตร์อเมริกันผลิต100 ปีของ AFI ... 100 Movie Quotesรายการของราคาที่ดีที่สุดในภาพยนตร์อเมริกัน ที่นี่มีการระบุไว้อย่างถูกต้องตามที่ควรใช้ในการท้าทายนี้:

(answer  6) 1. "Frankly, my dear, I don't give a damn." - Rhett Butler
(answer  7) 2. "I'm gonna make him an offer he can't refuse." - Vito Corleone
(answer  5) 3. "You don't understand! I coulda had class. I coulda been a contender. I could've been somebody, instead of a bum, which is what I am." - Terry Malloy
(answer  3) 4. "Toto, I've a feeling we're not in Kansas anymore." - Dorothy Gale
5. "Here's looking at you, kid." - Rick Blaine
(answer  2) 6. "Go ahead, make my day." - Harry Callahan
(answer 11) 7. "All right, Mr. DeMille, I'm ready for my close-up." - Norma Desmond
(answer  8) 8. "May the Force be with you." - Han Solo
(answer 12) 9. "Fasten your seatbelts. It's going to be a bumpy night." - Margo Channing
(answer 13) 10. "You talking to me?" - Travis Bickle
(answer 16) 11. "What we've got here is failure to communicate." - Captain
(answer 15) 12. "I love the smell of napalm in the morning." - Lt. Col. Bill Kilgore
(answer  4) 13. "Love means never having to say you're sorry." - Jennifer Cavilleri Barrett
14. "The stuff that dreams are made of." - Sam Spade
(answer 18) 15. "E.T. phone home." - E.T.
(answer 20) 16. "They call me Mister Tibbs!" - Virgil Tibbs
17. "Rosebud." - Charles Foster Kane
(answer 10) 18. "Made it, Ma! Top of the world!" - Arthur "Cody" Jarrett
(answer 17) 19. "I'm as mad as hell, and I'm not going to take this anymore!" - Howard Beale
(answer 25) 20. "Louis, I think this is the beginning of a beautiful friendship." - Rick Blaine
(answer 26) 21. "A census taker once tried to test me. I ate his liver with some fava beans and a nice Chianti." - Hannibal Lecter
(answer  9) 22. "Bond. James Bond." - James Bond
(answer 22) 23. "There's no place like home." - Dorothy Gale
(answer 29) 24. "I am big! It's the pictures that got small." - Norma Desmond
25. "Show me the money!" - Rod Tidwell
(answer 31) 26. "Why don't you come up sometime and see me?" - Lady Lou
(answer 27) 27. "I'm walking here! I'm walking here!" - "Ratso" Rizzo
(answer 14) 28. "Play it, Sam. Play 'As Time Goes By.'" - Ilsa Lund
(answer 28) 29. "You can't handle the truth!" - Col. Nathan R. Jessup
(answer 23) 30. "I want to be alone." - Grusinskaya
(answer 30) 31. "After all, tomorrow is another day!" - Scarlett O'Hara
(answer  1) 32. "Round up the usual suspects." - Capt. Louis Renault
(answer 24) 33. "I'll have what she's having." - Customer
(answer 36) 34. "You know how to whistle, don't you, Steve? You just put your lips together and blow." - Marie "Slim" Browning
(answer 19) 35. "You're gonna need a bigger boat." - Martin Brody
(answer 39) 36. "Badges? We ain't got no badges! We don't need no badges! I don't have to show you any stinking badges!" - "Gold Hat"
(answer 40) 37. "I'll be back." - The Terminator
(answer 33) 38. "Today, I consider myself the luckiest man on the face of the earth." - Lou Gehrig
(answer 37) 39. "If you build it, he will come." - Shoeless Joe Jackson
(answer 43) 40. "My mama always said life was like a box of chocolates. You never know what you're gonna get." - Forrest Gump
(answer 34) 41. "We rob banks." - Clyde Barrow
(answer 38) 42. "Plastics." - Mr. Maguire
43. "We'll always have Paris." - Rick Blaine
(answer 49) 44. "I see dead people." - Cole Sear
(answer 21) 45. "Stella! Hey, Stella!" - Stanley Kowalski
(answer 32) 46. "Oh, Jerry, don't let's ask for the moon. We have the stars." - Charlotte Vale
(answer 35) 47. "Shane. Shane. Come back!" - Joey Starrett
(answer 42) 48. "Well, nobody's perfect." - Osgood Fielding III
(answer 51) 49. "It's alive! It's alive!" - Henry Frankenstein
(answer 41) 50. "Houston, we have a problem." - Jim Lovell
(answer 45) 51. "You've got to ask yourself one question: 'Do I feel lucky?' Well, do ya, punk?" - Harry Callahan
(answer 55) 52. "You had me at "hello."" - Dorothy Boyd
(answer 46) 53. "One morning I shot an elephant in my pajamas. How he got in my pajamas, I don't know." - Capt. Geoffrey T. Spaulding
(answer 44) 54. "There's no crying in baseball!" - Jimmy Dugan
(answer 59) 55. "La-dee-da, la-dee-da." - Annie Hall
(answer 60) 56. "A boy's best friend is his mother." - Norman Bates
(answer 47) 57. "Greed, for lack of a better word, is good." - Gordon Gekko
(answer 56) 58. "Keep your friends close, but your enemies closer." - Michael Corleone
(answer 48) 59. "As God is my witness, I'll never be hungry again." - Scarlett O'Hara
(answer 50) 60. "Well, here's another nice mess you've gotten me into!" - Oliver
(answer 65) 61. "Say "hello" to my little friend!" - Tony Montana
(answer 66) 62. "What a dump." - Rosa Moline
(answer 52) 63. "Mrs. Robinson, you're trying to seduce me. Aren't you?" - Benjamin Braddock
(answer 61) 64. "Gentlemen, you can't fight in here! This is the War Room!" - President Merkin Muffley
(answer 68) 65. "Elementary, my dear Watson." - Sherlock Holmes
(answer 64) 66. "Take your stinking paws off me, you damned dirty ape." - George Taylor
(answer 53) 67. "Of all the gin joints in all the towns in all the world, she walks into mine." - Rick Blaine
(answer 72) 68. "Here's Johnny!" - Jack Torrance
(answer 71) 69. "They're here!" - Carol Anne Freeling
(answer 73) 70. "Is it safe?" - Dr. Christian Szell
(answer 54) 71. "Wait a minute, wait a minute. You ain't heard nothin' yet!" - Jakie Rabinowitz/Jack Robin
(answer 77) 72. "No wire hangers, ever!" - Joan Crawford
(answer 67) 73. "Mother of mercy, is this the end of Rico?" - Cesare Enrico "Rico" Bandello
(answer 70) 74. "Forget it, Jake, it's Chinatown." - Lawrence Walsh
(answer 74) 75. "I have always depended on the kindness of strangers." - Blanche DuBois
(answer 78) 76. "Hasta la vista, baby." - The Terminator
(answer 75) 77. "Soylent Green is people!" - Det. Robert Thorn
(answer 76) 78. "Open the pod bay doors, HAL." - Dave Bowman
(answer 80) 79. Striker: "Surely you can't be serious." Rumack: "I am serious...and don't call me Shirley." - Ted Striker and Dr. Rumack
(answer 84) 80. "Yo, Adrian!" - Rocky Balboa
(answer 81) 81. "Hello, gorgeous." - Fanny Brice
(answer 83) 82. "Toga! Toga!" - John "Bluto" Blutarsky
(answer 63) 83. "Listen to them. Children of the night. What music they make." - Count Dracula
(answer 87) 84. "Oh, no, it wasn't the airplanes. It was Beauty killed the Beast." - Carl Denham
(answer 88) 85. "My precious." - Gollum
(answer 86) 86. "Attica! Attica!" - Sonny Wortzik
(answer 57) 87. "Sawyer, you're going out a youngster, but you've got to come back a star!" - Julian Marsh
(answer 82) 88. "Listen to me, mister. You're my knight in shining armor. Don't you forget it. You're going to get back on that horse, and I'm going to be right behind you, holding on tight, and away we're gonna go, go, go!" - Ethel Thayer
(answer 58) 89. "Tell 'em to go out there with all they got and win just one for the Gipper." - Knute Rockne
(answer 90) 90. "A martini. Shaken, not stirred." - James Bond
(answer 85) 91. "Who's on first." - Dexter
(answer 62) 92. "Cinderella story. Outta nowhere. A former greenskeeper, now, about to become the Masters champion. It looks like a mirac...It's in the hole! It's in the hole! It's in the hole!" - Carl Spackler
(answer 69) 93. "Life is a banquet, and most poor suckers are starving to death!" - Mame Dennis
(answer 89) 94. "I feel the need - the need for speed!" - Lt. Pete "Maverick" Mitchell and Lt. Nick "Goose" Bradshaw
(answer 79) 95. "Carpe diem. Seize the day, boys. Make your lives extraordinary." - John Keating
(answer 91) 96. "Snap out of it!" - Loretta Castorini
(answer 92) 97. "My mother thanks you. My father thanks you. My sister thanks you. And I thank you." - George M. Cohan
(answer 93) 98. "Nobody puts Baby in a corner." - Johnny Castle
(answer 94) 99. "I'll get you, my pretty, and your little dog, too!" - Wicked Witch of the West
(answer 95) 100. "I'm the king of the world!" - Jack Dawson

(อย่าลังเลที่จะทำเครื่องหมายคำพูดตามที่ใช้)

มีอักขระ ASCII ที่พิมพ์ได้ 95 ตัว (รหัสฐานสิบหก 20 ถึง 7E) ซึ่งค่อนข้างใกล้เคียงกับ 100:

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

ในความท้าทายนี้ผู้ใช้จะได้ผลัดกันเขียนโปรแกรมที่พิมพ์หนึ่งในคำพูดภาพยนตร์โดยใช้ภาษาการเขียนโปรแกรมใหม่และชุดย่อยขนาดเล็กของ ASCII ที่พิมพ์ได้ในแต่ละครั้ง

วิธีนี้ใช้ได้ผล

ฉันส่งคำตอบแรกไปแล้วและฉันติดป้ายกำกับ 95 เนื่องจากฉันได้รับอนุญาตให้ใช้อักขระ ASCII ที่พิมพ์ได้ 95 ตัวในโปรแกรมของฉัน มันเป็นโปรแกรม Python ที่พิมพ์ใบเสนอราคาที่ 100 "I'm the king of the world!" - Jack Dawsonเพื่อ stdout

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

บุคคลที่สามที่จะต้องตอบต้องเลือกเครื่องหมายคำพูดและภาษาที่ไม่ได้ใช้ในคำตอบก่อนหน้า (เพียง 95 และ 94 ในกรณีนี้) และตัวละครใหม่ที่จะละทิ้ง พวกเขาจะต้องไม่ใช้ตัวละครนี้หรือตัวอักษรต้องห้ามก่อนหน้านี้ในรหัสของพวกเขา พวกเขาทำเครื่องหมายคำตอบของพวกเขาเป็น 93

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

กฎ(โปรดอ่านอย่างละเอียด)

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

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

กฎเฉพาะ

  • ผู้ใช้ที่เพิ่งตอบต้องรออย่างน้อยหนึ่งชั่วโมงก่อนที่จะตอบอีกครั้ง
  • ผู้ใช้ไม่สามารถตอบสองครั้งติดต่อกัน
  • หมายเลขใบเสนอราคาที่คุณเลือกจะต้องไม่ต่ำกว่า 5 คำตอบของคุณ ตัวอย่างเช่นคำตอบ 90 สามารถเลือกคำพูดที่ไม่ได้ใช้จากหมายเลข 85 ถึง 100 ซึ่งจะเป็นการเสนอราคาที่ดีกว่าสำหรับคำตอบที่ยากขึ้น นอกเหนือจากกฎนี้การกำหนดหมายเลขคำพูดไม่เกี่ยวข้อง
  • โปรแกรมอาจมีแท็บขึ้นบรรทัดใหม่และอักขระ ASCII ที่พิมพ์ได้เท่านั้นซึ่งไม่ได้รับอนุญาต (แท็บและบรรทัดใหม่จะไม่ถูกห้าม)
  • ไม่มีการจำกัดความยาวของโปรแกรม แต่อาจมีไม่เกิน 64 แท็บหรือ 64 บรรทัดใหม่ในโปรแกรมของคุณ
  • ภาษาจะถือว่าแตกต่างกันหากพวกเขามักจะเรียกโดยชื่อที่แตกต่างกัน ภาษาการเขียนโปรแกรมเวอร์ชั่นต่าง ๆ นั้นไม่ถือว่าแตกต่างกัน (ภาษามาร์กอัปเช่น HTML จะนับ แต่ต้องการภาษาโปรแกรมเต็มรูปแบบ) ภาษาของคุณจะต้องมีอยู่ก่อนที่จะเริ่มการแข่งขันนี้
  • หากภาษาของคุณไม่มี stdout ให้ใช้กลไกการแสดงผลข้อความที่คล้ายกัน
  • โปรแกรมของคุณไม่ควรรับอินพุตหรือมีผลข้างเคียงที่ไม่คาดคิดเช่นการสร้างไฟล์

โปรดตรวจสอบว่าโปรแกรมของคุณถูกต้อง มันควรจะสามารถเรียกใช้เป็นโปรแกรมเต็มรูปแบบตามที่เป็นอยู่ไม่ใช่แค่ในสภาพแวดล้อมREPL

โปรดทราบว่า "อัญประกาศ" ที่คุณต้องส่งออกรวมถึงเครื่องหมายคำพูดและบุคคลที่กล่าวถึงมัน โปรแกรมของคุณควรผลิตใบเสนอราคาของคุณตามที่ปรากฏในรายการข้างต้นเท่านั้น (ขึ้นบรรทัดใหม่ / นำขึ้นบรรทัดใหม่ได้)

การจัดรูปแบบ

โปรดจัดรูปแบบคำตอบของคุณเช่นนี้{stuff in curly braces}จำเป็นต้องเปลี่ยน:

#{answer number}. {language}, uses no <code>{the forbidden character you just chose}</code>

    {program}

Output is quote {quote number}:

    {program output, should be identical to quote}

[Previously forbidden:]({url of previous answer (hit "share" just below it)}) <code>{the previous answerer's forbidden character followed by his previously forbidden list}</code>

{anything else you wish to say}

<code>แท็กสามารถถูกแทนที่ด้วย backticks ( `) ตราบใดที่ไม่มี backtick เกิดขึ้นภายในพวกเขา

เกณฑ์การให้คะแนน

เป้าหมายของชุมชนในการท้าทายนี้คือการรักษาคำตอบให้ได้นานที่สุด

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

รายการคำตอบ (ใหม่ล่าสุดมาก่อน)

  1. 4 ก้าวหน้ายูนารี
  2. a Bueue
  3. c Udage
  4. S 1L_a105
  5. w Binaryfuck
  6. K Subskin
  7. l 23

  1. n P1eq
  2. t Addleq
  3. 9 รหัสเครื่อง x86
  4. r BSM
  5. D ShaFuck 0.2
  6. u Villmark
  7. O รหัสเครื่อง PDP-11
  8. f ProgFk
  9. i numpad
  10. H ไตร
  11. 2 เฟอร์นันโด
  12. P แหลม
  13. m Subleq
  14. G FlogScript
  15. ? Nqubl
  16. % Glypho
  17. ! 3var
  18. q การทางพิเศษแห่งประเทศไทย
  19. j BrainSpace 1.0
  20. V โรคนอนไม่หลับ
  21. ` asdf
  22. 6 Lazy K
  23. C ! Py! Batch 1.5
  24. T Fuckfuck
  25. F PoGo
  26. R Golunar
  27. b รหัสเครื่อง 6502 + การตรวจสอบระบบ Apple II
  28. Y Headsecks
  29. I BRB
  30. U Braincrash
  31. Z ซึ่งปีติยินดี
  32. M ฟาร์ม
  33. A ยาสวนทวารหนัก
  34. L ปรับ
  35. $ นิกาย
  36. N Rebmu
  37. g Dupdog
  38. B Gammaplex
  39. J Fuck4
  40. 5 A0A0
  41. W GS2
  42. : l33t
  43. h Tonoco
  44. E Malbolge
  45. k D1ffe7e45e
  46. 1 ชั่วร้าย
  47. Q CaneCode
  48. d หญ้า
  49. # URSL
  50. | ล้อเลียน
  51. x Emmental
  52. ~ Applesoft BASIC
  53. ^ ออกมา
  54. 7 รหัสเครื่อง 80386 + DOS
  55. _ โอ๊ะ!
  56. v REXX
  57. } AlphaBeta
  58. o ซุปเปอร์สแต็ค!
  59. e Pyth
  60. z ธรรมดา TeX
  61. > WASD
  62. ] POSIX เชลล์
  63. & ซึ่งพูดพล่อยๆ
  64. / GolfScript
  65. * x86_64 ชุดประกอบ
  66. 0 AppleScript
  67. X Deadfish ~
  68. , ช้อน
  69. - oOo CODE
  70. = J
  71. @ มาติกา
  72. . Perl
  73. + ดีเอ็นเอ#
  74. < Pi
  75. ) ป.ล.
  76. [ เอบีซี
  77. s กระแสตรง
  78. { HTML
  79. ( เอก
  80. ; ook!
  81. ' CJam
  82.   PHP
  83. " brainfuck
  84. \ Marbelous
  85. 3 C ++
  86. y ทับทิม
  87. p JavaScript
  88.      หลาม

(อย่าลังเลที่จะแก้ไขหากไม่ถูกต้องหรือล้าสมัย)

คำถามนี้ใช้ได้ดีที่สุดเมื่อคุณเรียงลำดับโดย "เก่าที่สุด"

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


ช่างแปลกเหลือเกิน ทุกคนรู้วิธีทำ # 2 แต่ไม่มีใครอยากทำ (ส่วนใหญ่เป็นเพราะ # 1 กลายเป็นไปไม่ได้) หากความท้าทายนี้ถูกรีบูทมันอาจจะเสร็จสิ้นได้
CalculatorFeline

ฉันจะทำสิ่งนี้!
คริสโตเฟอร์

@CalculatorFeline คุณจะทำอย่างไร 2
Christopher

เช่นเดียวกับที่คุณทำ # 1 Lenguage แน่นอนว่าจะเป็นการท้าทาย
CalculatorFeline

@CalculatorFeline Lenguageถูกสร้างขึ้นสำหรับความท้าทายนี้ซึ่งเป็นช่องโหว่มาตรฐาน (ดูลิงค์ในบรรทัดแรก)
jimmy23013

คำตอบ:


19

8. P1eq (ไม่ใช้n)

มันต้องการแพลตฟอร์มที่ไม่ใช่ Windows 64 บิตเพื่อให้ทำงานได้อย่างถูกต้องเช่นเดียวกับคำตอบของ Addleq มันใช้เคล็ดลับเดียวกันสำหรับ -1

มี 64 บรรทัดใหม่และ 57 แท็บ

มันช้าและสิ้นสุดในเวลาประมาณ 18 นาทีบนคอมพิวเตอร์ของฉัน

844 844 88888   848
844 4
844 444
444
8   448
444 448 4
484
884 488
488
488
484 488 88
84  48
48
844 4444
4444
848 844 88888
88884884    888484  4484
8884484 4444848 4848888
4448448 4488    4444848
488 88  44888
4884848 4488    4444848
8488884 4488    4444848
484884888   48848   4848888
4448448 4444848 8884484
88  4488848 884484
88884884    4444848 4844848
4444848 4444888 4484
44884   4444848 8
444844  88  8484484
48  884
844 484
88
4444
444 4448
4444    4448    4
4448
444 4448    88888888888888888888
48  4444
444 4448
4444    4448    4
4448
4448
444 4448    4
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444 88888888888888888888
848 844 4

ผลลัพธ์คือ 8:

"May the Force be with you." - Han Solo

ก่อนหน้านี้ต้องห้าม :

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

ที่เหลือ:

  • เบอร์: 4 8
  • ตัวพิมพ์ใหญ่: K S
  • ตัวพิมพ์เล็ก: a c l w

P1eq เหมือนกับ Subleq และ Addleq โดยมีคำสั่ง B = A + 1 และกระโดดถ้า B ไม่เปลี่ยนแปลง

คำอธิบาย:

844 844 88888        # *844 = 1.
848 addr4:844 4 7    # Jump back to 4. And add some nonsense values to *4,
                     #   which is never read. Note that if it jumps to 8, 
                     #   neither *44 nor *48 could be a jump target.
844 444 10           # Initialize *444 to 2.
addr10: 444 444 13   # Increment *444.
8 448 16             # *448 = 445.
444 448 4            # If *444 == 444, jump back to 4.
484 484 22           # Increment *484.
884 488 25           # *488 = *884 + 1.
488 488 28           # Increment *488 two times. This prevents the infinite
488 488 31           #   loop when *884 is uninitialized.
484 488 88           # If *484 + 1 == *488, jump to 88.
84 48 37             # *48 = 10.
48 48 40
844 4444 43          # *4444 = 3.
4444 4444 46
848 844 addr48:88888 # Jump back to 10.

# Data.

88884884 888484 4484
8884484 4444848 4848888
4448448 4488 4444848
488 88 44888
4884848 4488 4444848
8488884 4488 4444848
484884888 48848 4848888
4448448 4444848 8884484
88 4488848 884484
88884884 4444848 4844848
4444848 4444888 4484
44884 4444848 addr84:8    # The 8 is for getting 10 in the loop.
444844 88 8484484

addr88:48 884 91     # *884 = content of current cell. 48 is also the last
                     #   data cell, which will be 88, the address of itself
                     #   when read. 884 is also the end-of-data marker.
                     # *444 will be (current cell value mod 441) + 3
844 484 94           # Reset *484 to 1.
88 88 97             # Increment the data pointer.
4444 4444 100        # *4444 = 4.
444 4448 103
4444 4448 4          # If *884 was uninitialized, skip.
4448 4448 109
444 4448 (-1)        # If it is at the end of data (2 mod 441), stop.
48 4444 115          # *4444 = 10
444 4448 118
4444 4448 4          # If the current cell value is 8, skip.
4448 4448 124
4448 4448 127
444 4448 4           # If the current cell value is 10 (the jump target), skip.
444 444 133          # *444 += 20. This makes the last cell value 88 outputs the
444 444 136          #   last character "o".
444 444 139          # *444 will be (current cell value mod 441) + 23, which is
444 444 142          #   either the character to output, or the character to
444 444 145          #   output + 256. Some characters' minimum mod 441
444 444 148          #   representations using only 4 and 8 overflowed 32 bit
444 444 151          #   integer. But those characters plus 256 worked well.
444 444 154
444 444 157
444 444 160
444 444 163
444 444 166
444 444 169
444 444 172
444 444 175
444 444 178
444 444 181
444 444 184
444 444 187
444 444 190
444 (-1) 193         # Output the character.
848 844 4            # Jump back to the loop.

โปรแกรมนี้เพิ่มขึ้น * 444 และ * 484 ด้วยกันและรีเซ็ต * 444 เมื่อมันกลายเป็นค่าที่แน่นอน เมื่อ * 484 เท่ากับข้อมูล * 444 จะเป็นส่วนที่เหลือของข้อมูลหารด้วยค่าบางค่า

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


ภาษาอื่น ๆ พบว่าน่าสนใจ แต่ไม่สามารถใช้งานได้อีกต่อไป:

  • ตัวแปรนารีอื่น ๆ
  • ภาษาที่ใช้ตัวเลข
    • เป็นโมฆะฉันเชื่อว่ามันควรจะทำงานโดยไม่มีตัวเลขคี่ น่าเสียดายที่มันไม่ได้
    • สมิ ธ #

ตอนนี้ฉันเหลือ 3 ภาษา

สำหรับผู้ที่ต้องการเขียนคำตอบเพิ่มเติมต่อไปนี้เป็นคำแนะนำในการค้นหา:

  • รหัสเครื่องจริงหากมีรูปแบบที่ไม่ต้องใช้ส่วนหัวของไฟล์และมีคำแนะนำในการป้อนข้อความ / ผลลัพธ์
  • OISC ตามจำนวน
  • ภาษาที่ไม่ลึกลับซึ่งเกิดขึ้นกับคำแนะนำตัวอักษรเดียวด้วยเหตุผลบางประการ อาจเป็นตระกูล APL
  • แก้ไขรหัสไบนารี่
  • ภาษาที่ออกแบบมาสำหรับแนวคิดบางอย่างเกี่ยวกับลักษณะของภาษา
  • ภาษาที่ไม่ได้อยู่ในวิกิ esolangs และไม่มีคำอธิบายเป็นภาษาอังกฤษซึ่งหมายความว่าผู้ใช้รายอื่นไม่รู้จัก

แน่นอนว่าฉันมี:

  • ภาษาฐานสิบหกซึ่งควรจะสามารถพิมพ์ใบเสนอราคาด้วยรหัสการแยกตัวเอง
  • ภาษา 2D ที่ใช้งานได้กับอักขระสองตัวที่แตกต่างกัน (ยกเว้นการขึ้นบรรทัดใหม่)
  • ภาษาที่ไม่มีเอกสารที่สามารถใช้ความยาวบรรทัดเป็นคำแนะนำ

1
ว้าวฉันคิดว่า P1Eq นั้นเป็นไปไม่ได้ใน 64 บรรทัด +1 ไม่รวม "Lenguage" ฉันเหลือ 1 ภาษาสำหรับคำตอบ # 3 "Wunnel" จะเป็นตัวเลือกที่สมบูรณ์แบบสำหรับคำตอบ # 2 แต่จะพิมพ์ 0s และ 1 ตามตัวอักษรแทนที่จะเป็นบิต เสียโดยสิ้นเชิง
kennytm

1
@KennyTM ฉันยังไม่ได้ทดสอบคำตอบ # 2 และฉันเดาว่าจะไม่มีคำพูดที่พิมพ์ได้ด้วยคำตอบของฉัน # 1 ภาษาหลังจากมีคนโพสต์คำตอบ # 2 ตอนนี้ฉันกำลังมองหาแหล่งข้อมูลภาษาอื่น ๆ นอกเหนือจากวิกิ แต่ไม่พบสิ่งใดที่ใช้งานได้
jimmy23013

1
@KennyTM ฉันพบวิธีการพิมพ์สตริงด้วยคำตอบ # 1 ภาษาของฉันซึ่งสามารถพิมพ์ได้มากถึง 62 ตัวอักษร ในความเป็นจริงมันเป็นเพียงแค่วิธีการที่ตัวอย่างเริ่มต้นทำงานได้ แต่ฉันขี้เกียจอ่านแหล่งที่มาเพื่อเรียนรู้ภาษาที่ไม่มีเอกสาร
jimmy23013

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

126

90. Brainfuck ใช้หมายเลข "

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

<<<<<----.++++<<.>>>>>>>>>>--.+.+>----.++++<<<<<<<<<<<.>>>>>>>>>>+++.--->----.
++++<<+.->++..--<---.-.++++<<<<<<<--.++<<++.--.>>---.+++<<.>>>>>++.-->>>+.->>-
--.+++<---.+++>+++.---<<<<<<<<<<.>>>>++.-->>>>>>-.-.++<----.++++<<<<<<<<<<<<<.

เอาท์พุทคือราคา 90:

"A martini. Shaken, not stirred." - James Bond

ก่อนหน้านี้ต้องห้าม: py3\

ใครบางคนต้องทำก่อนที่จะ.+-ถูกห้าม
ลองที่นี่: http://ideone.com/dlu8VE


28
สวยงามอย่างแน่นอน
Flonk

13
ทำไมคุณจะเอา"? นั่นเป็นความหมายสำหรับทุกคนหลังจากคุณ
Peter Olson

75

51. Malbolge (ไม่ใช้E)

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

ba`r:?!!6l:jVVw5ut2rqML:nllHFFhDfAcR?P`ut:rqZYtm2qCRhPPNNihgf%qFF!!2AA??TSwutOTr55PImGFKJCBfFc
cbONq9!!6Y4W8hCf4ttOONL:JlHGFFDgfAS?b``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAj??gfw::tr`64nn!ljjihffw?
ct``:?!!6l:jihwfut?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAj??gfw::tr`64nn!ljjihffw?
ct``:?!!6l:jihwfut?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAj??gfw::tr`64nn!ljjihffw?
ct``:?!!6l:jihwfut?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAj??gfw::tr`64nn!ljjihffw?
ct``:?!!6l:jihwfut?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAj??gfw::tr`64nn!ljjihffw?
ct``:?KJZHGWWDUBRRPONNMKnlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!DBBWVUZSRWPONMRKPO!ljjihffw?
ct``:?KJZHGWWDUBRRPONNMKnlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!DBBWVUZSRWPONMRKPO!ljjihffw?
ct``:?KJZHGWWDUBRRPONNMKnlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!DBBWVUZSRWPONMRKPO!ljjihffw?
ct``:?KJZHGWWDUBRRPONNMKnlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!DBBWVUZSRWPONMRKPO!ljjihffw?
ct``:?!!6l:jWDUBRR?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAj??ZSRWPOr`64nn!ljjihffw?
ct``:?!!6l:jWDUBRR?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAj??ZSRWPOr`64nn!ljjihffw?
ct``:?!!6l:jWDUBRR?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAj??ZSRWPOr`64nn!ljjihffw?
ct``:?!!6l:jWDUBRR?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAj??ZSRWPOr`64nn!ljjihffw?
ct``:?!!6l:jWDUBRR?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAj??ZSRWPOr`64nn!ljjihffw?
ct``:?!!6l:jWDUBRR?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAj??ZSRWPOr`64nn!ljjihffw?
ct``:?!!6l:jWDUBRR?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAj??ZSRWPOr`64nn!ljjihffw?
ct``:?!!6l:jWDUBRR?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAj??ZSRWPOr`64nn!ljjihffw?
ct``:?!!6l:jWDUBRR?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAj??ZSRWPOr`64nn!ljjihffw?
ct``:?!!6l:jWDUBRR?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAj??ZSRWPOr`64nn!ljjihffw?
ct``:?!!6l:jWDUBRR?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAj??ZSRWPOr`64nn!ljjihffw?
ct``:?!!6l:jWDUBRR?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAj??ZSRWPOr`64nn!ljjihffw?
ct``:?!!6l:jWDUBRR?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAj??ZSRWPOr`64nn!ljjihffw?
ct``:?!!6l:jWDUBRR?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAj??ZSRWPOr`64nn!ljjihffw?
ct``:?!!6l:jWDUBRR?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAj??ZSRWPOr`64nn!ljjihffw?
ct``:?!!6l:jWDUBRR?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAj??ZSRWPOr`64nn!ljjihffw?
ct``:?KJZHGWWDUBRRPONNMKnlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!DBBWVUZSRWPONMRKPO!ljjihffw?
ct``:?KJZHGWWDUBRRPONNMKnlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!DBBWVUZSRWPONMRKPO!ljjihffw?
ct``:?KJZHGWWDUBRRPONNMKnlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!DBBWVUZSRWPONMRKPO!ljjihffw?
ct``:?KJZHGWWDUBRRPONNMKnlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!DBBWVUZSRWPONMRKPO!ljjihffw?
ct``:?!!6l:jihwfut?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAj??gfw::tr`64nn!ljjihffw?
ct``:?!!6l:jihwfut?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAj??gfw::tr`64nn!ljjihffw?
ct``:?!!6l:jihwfut?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAj??gfw::tr`64nn!ljjihffw?
ct`NMLKJZHGWWDUBRRPONNMKKIHjj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqGFDDBBWVUZSRWPONMRKPONMFjihffw?
ct`NMLKJZHGWWDUBRRPONNMKKIHjj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqGFDDBBWVUZSRWttNML4nOlMFjhCBAF?
cC%A:9!!65492Vw5uu2rqMMKKIHjj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqGFDDBBWVUZSRWPONMRKPONMFjihffw?
ct`NMLKJZHGWWDUBRRPONNMKKIHjj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqGFDDBBWVUZSRWPONMRKPONMFjihffw?
ct``:?!!6l:jWDUBRR?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAj??ZSRWPOr`64nn!ljjihffw?
ct``:?!!6l:jWDUBRR?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAj??ZSRWPOr`64nn!ljjihffw?
ct``:?!!6l:jWDUBRR?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAj??ZSRWPOr`64nn!ljjihffw?
ct``:?!!6l:jWDUBRR?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAj??ZSRWPOr`64nn!ljjihffw?
ct``:?!!6l:jWDUBRR?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAj??ZSRWPOr`64nn!ljjihffw?
ct``:?!!6l:jWDUBRR?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAj??ZSRWPOr`64nn!ljjihffw?
ct``:?!!6l:jWDUBRR?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAj??ZSRWPOr`64nn!ljjihffw?
ct``:?!!6l:jWDUBRR?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAj??ZSRWPOr`64nn!ljjihffw?
ct``:?!!6l:jWDUBRR?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAj??ZSRWPOr`64nn!ljjihffw?
ct``:?!!6l:jWDUBRR?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAj??ZSRWPOr`64nn!ljjihffw?
ct``:?!!6l:jWDUBRR?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAj??ZSRWPOr`64nn!ljjihffw?
ct``:?!!6l:jWDUBRR?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAj??ZSRWPOr`64nn!ljjihffw?
ct``:?!!6l:jWDUBRR?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAj??ZSRWPOr`64nn!ljjihffw?
ct``:?!!6l:jWDUBRR?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAj??ZSRWPOr`64nn!ljjihffw?
ct``:?!!6l:jWDUBRR?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAj??ZSRWPOr`64nn!ljjihffw?
ct``:?!!6l:jWDUBRR?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAj??ZSRWPOr`64nn!ljjihffw?
ct``:?!!6l:jWDUBRR?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAj??ZSRWPOr`64nn!ljjihffw?
ct``:?!!6l:jWDUBRR?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAj??ZSRWPOr`64nn!ljjihffw?
ct``:?!!6l:jWDUBRR?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAj??ZSRWPOr`64nn!ljjihffw?
ct``:?!!6l:jWDUBRR?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAj??ZSRWPOr`64nn!ljjihffw?
ct``:?!!6l:jihwfut?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAj??gfw::tr`64nn!ljjihffw?
ct``:?!!6l:jihwfut?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAj??gfw::tr`64nn!ljjihffw?
ct``:?!!6l:jihwfut?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAj??gfw::tr`64nn!ljjihffw?
ct``:?!!6l:jWDUBRR?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAj??ZSRWPOr`64nn!ljjihffw?
ct``:?!!6l:jWDUBRR?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAj??ZSRWPOr`64nn!ljjihffw?
ct``:?!!6l:jWDUBRR?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAj??ZSRWPOr`64nn!ljjihffw?
ct``:?!!6l:jWDUBRR?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAj??ZSRWPOr`64nn!ljjihffw?
ct``:?!!6l:jWDUBRR?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAj??ZSRWPOr`64nn!ljjihffw?
ct``:?!!6l:jWDUBRR?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAj??ZSRWPOr`64nn!ljjihffw?
ct``:?!!6l:jWDUBRR?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAj??ZSRWPOr`64nn!ljjihffw?
ct``:?!!6l:jWDUBRR?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAj??ZSRWPOr`64nn!ljjihffw?
ct``:?!!6l:jihwfut?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAj??gfw::tr`64nn!ljjihffw?
ct``:?!!6l:jihwfut?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAj??gfw::tr`64nn!ljjihffw?
ct``:?!!6l:jihwfRuPrr`L:nlljj!hffTc!?``u::88ZYWmr2SSRglOjihgfI%FFDCBAWV?ZYw::8Tr54JImGFKDCgAF?
DC%%:98!654WWDUBRRPONqLLnlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!m2AWVUZSRWPONMR54m!ljjihffw?
ct``:?8nmHGWWDUBRRPONqLLnlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!m2AWVUZSRWPONMR54m!ljjihffw?
ct`%qLKJZHGWWDUBRRPONNMKnlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rq6b4!BBW?UZYw:99Nr64JO2MFjDgffw?
ct`%qLKJZZGWWDTB4RPONNMKnlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rq6b4DBBWVUZSRWPONMRKPO!ljjihffw?
ct`NMLKJZ549ihwfut2bqNMKnlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqGFDDBBjihgfw::tTqLKPO!ljjihffw?
ct`NMLKJZ549ihwfut2bqNMKnlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqGFDDBBjihgfw::tTqLKPO!ljjihffw?
ct`NMLKJZl:jihwfut?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqGFDDBBj??gfw::tr`64nn!ljjihffw?
ct`NMLKJZl:jihwfut?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqGFDDBBj??gfw::tr`64nn!ljjihffw?
ct`NMLKJZHGW8hTfut?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqGFDDBBWVUTww::tr`64nn!ljjihffw?
ct`NMLKJZHGW8hTfut?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqGFDDBBWVUTww::tr`64nn!ljjihffw?
ct`%qLKJZHGWWDUBRRPONqLLnlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rq6b4DBBWVUZSRWPONMR54m!ljjihffw?
ct`%qLKJZHGWWDUBRRPONqLLnlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rq6b4DBBWVUZSRWPONMR54m!ljjihffw?
ct``:?!!6HGWWDUBRRPONNMKm%ljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAWVUZSRWPONMRKPOmlLjihffw?
ct``:?!!6HGWWDUBRRPONNMKm%ljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAWVUZSRWPONMRKPOmlLjihffw?
ct``:?!!6l:jihwT4uPONNMKKIHjj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAj??gfwu98NMRKPONMFjihffw?
ct``:?!!6l:jihwT4uPONNMKKIHjj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAj??gfwu98NMRKPONMFjihffw?
ct``:?!!6l:jihwfut?rrNMKKIHjj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAj??gfw::tr`6KPONMFjihffw?
ct``:?!!6l:jihwfut?rrNMKKIHjj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAj??gfw::tr`6KPONMFjihffw?
ct`NML8nml:jihwfut2bqNMKKIHjj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqGFDm2Aj??gfw::tTqLKPONMFjihffw?
ct`NML8nml:jihwfut2bqNMKKIHjj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqGFDm2Aj??gfw::tTqLKPONMFjihffw?
ct`NMLKJZHGWWDUBRRPONNMKm%ljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqGFDDBBWVUZSRWPONMRKPOmlLjihffw?
ct`NMLKJZHGWWDUBRRPONNMKm%ljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqGFDDBBWVUZSRWPONMRKPOmlLjihffw?
ct``:?KJZHGWWDUBRRPONqLLnlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!DBBWVUZSRWPONMR54mHMLKDCgAF?
DC%A:9!!65:92Vw5uttONqLLnlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!DBBWVUZSRWPONMR54m!ljjihffw?
ct``:?!!6l:jihwfut?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAj??gfw::tr`64nn!ljjihffw?
ct``:?!!6l:jihwfut?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAj??gfw::tr`64nn!ljjihffw?
ct``:?!!6l:jihwfut?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAj??gfw::tr`64nn!ljjihffw?
ct``:?!!6l:jihwfut?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAj??gfw::tr`64nn!ljjihffw?
ct``:?!!6l:jihwfut?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAj??gfw::tr`64nn!ljjihffw?
ct``:?!!6l:jihwfut?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAj??gfw::tr`64nn!ljjihffw?
ct``:?!!6l:jihwfut?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAj??gfw::tr`64nn!ljjihffw?
ct``:?!!6l:jihwfut?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAj??gfw::tr`64nn!ljjihffw?
ct``:?!!6l:jihwfut?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAj??gfw::tr`64nn!ljjihffw?
ct``:?!!6l:jihwfut?rr`L:nIljiFhfBTc!?``N:98Z65t42qjRRgfNMLLK9HHG5DZ2AA??gww:ttN6RKPOHlFKDCBGF?
DCB%:98!6Y:jihwfut?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAj??gfw::tr`64nn!ljjihffw?
ct``:?!!6l:jihwfut?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAj??gfw::tr`64nn!ljjihffw?
ct``:?!!6l:jihwfut?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAj??gfw::tr`64nn!ljjihffw?
ct``:?!!6l:jihwfut?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAj??gfw::tr`64nn!ljjihffw?
ct``:?!!6l:jihwfut?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAj??gfw::tr`64nn!ljjihffw?
ct``:?!!6549WDUBRR2bq`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAjihZSRWPOTqL4nn!ljjihffw?
ct``:?!!6549WDUBRR2bq`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAjihZSRWPOTqL4nn!ljjihffw?
ct``:?!!6l:jWDUBRR?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAj??ZSRWPOr`64nn!ljjihffw?
ct``:?!!6l:jWDUBRR?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAj??ZSRWPOr`64nn!ljjihffw?
ct``:?!!6HGWWDUBRRPON`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAWVUZSRWPONMR4nn!ljjihffw?
ct``:?!!6HGWWDUBRRPON`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAWVUZSRWPONMR4nn!ljjihffw?
ct``:?!!6HGWWDUBRRPON`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAWVUZSRWPONMR4nn!ljjihffw?
ct``:?!!6HGWWDUBRRPON`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAWVUZSRWPONMR4nn!ljjihffw?
ct``:?8nmHGWihwfutPONqLLnlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!m2AWVUgfw::tNMR54m!ljjihffw?
ct``:?8nmHGWihwfutPONqLLnlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!m2AWVUgfw::tNMR54m!ljjihffw?
ct``:?!!6HGW8hTT4uPON`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAWVUTwwu98NMR4nn!ljjihffw?
ct``:?!!6HGW8hTT4uPON`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAWVUTwwu98NMR4nn!ljjihffw?
ct``:?KJZHGWihwfutPONNMKnlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!DBBWVUgfw::tNMRKPO!ljjihffw?
ct``:?KJZHGWihwfutPONNMKnlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!DBBWVUgfw::tNMRKPO!ljjihffw?
ct``:?KJZHGWWDUBRRPONNMKnlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!DBBWVUZSRWPONMRKPO!ljjihffw?
ct``:?KJZHGWWDUBRRPONNMKnlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!DBBWVUZSRWPONMRKPO!ljjihffw?
ct``:?KJZHGWWDUBRRPONNMKnlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!DBBWVUZSRWPONMRKPO!ljjihffw?
ct``:?KJZHGWWDUBRRPONNMKnlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!DBBWVUZSRWPONMRKPO!ljjihffw?
ct`%qLKJZHGWihwfutPONNMKm%ljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rq6b4DBBWVUgfw::tNMRKPOmlLjihffw?
ct`%qLKJZHGWihwfutPONNMKm%ljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rq6b4DBBWVUgfw::tNMRKPOmlLjihffw?
ct`NMLKJZHGWihwfutPONNMKKIHjj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqGFDDBBWVUgfw::tNMRKPONMFjihffw?
ct`NMLKJZHGWihwfutPONNMKKIHjj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqGFDDBBWVUgfw::tNMRKPONMFjihffw?
ct`NMLKJZ549ihwfut2bqNMKKIHjj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqGFDDBBjihgfw::tTqLKPONMFjihffw?
ct`NMLKJZ549ihwfut2bqNMKKIHjj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqGFDDBBjihgfw::tTqLKPONMFjihffw?
ct``:?!!6l:jihwfut?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAj??gfw::tr`64nn!ljjihffw?
ct``:?!!6l:jihwfut?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAj??gfw::tr`64nn!ljjihffw?
ct``:?!!6l:jihwfut?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAj??gfw::tr`64nn!ljjihffw?
ct`NMLKJZl:jihwfut?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqGFDDBBj??gfw::tr`64nn!ljjihffw?
ct`NMLKJZl:jihwfut?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqGFDDBBj??gfw::tr`64nn!ljjihffw?
ct`NMLKJZl:jihwfut?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rq6F!DBBAVUTSw:99Nr54J22MFjDCBAF?
DC%A:9!!6549Vhwfut?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqGFDDBBj??gfw::tr`64nn!ljjihffw?
ct`NMLKJZl:jihwfut?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqGFDDBBj??gfw::tr`64nn!ljjihffw?
ct`NMLKJZl:jihwfut?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqGFDDBBj??gfw::tr`64nn!ljjihffw?
ct`NMLKJZl:jihwfut?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqGFDDBBj??gfw::tr`64nn!ljjihffw?
ct`NMLKJZl:jihwfut?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqGFDDBBj??gfw::tr`64nn!ljjihffw?
ct`NMLKJZl:jihwfut?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqGFDDBBj??gfw::tr`64nn!ljjihffw?
ct`NMLKJZl:jihwfut?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqGFDDBBj??gfw::tr`64nn!ljjihffw?
ct`NMLKJZl:jihwfut?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqGFDDBBj??gfw::tr`64nn!ljjihffw?
ct`NMLKJZl:jihwfut?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqGFDDBBj??gfw::tr`64nn!ljjihffw?
ct`NMLKJZl:jihwfut?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqGFDDBBj??gfw::tr`64nn!ljjihffw?
ct`NMLKJZl:jihwfut?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqGFDDBBj??gfw::tr`64nn!ljjihffw?
ct`NMLKJZl:jihwfut?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqGFDDBBj??gfw::tr`64nn!ljjihffw?
ct`NMLKJZl:jihwfut?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqGFDDBBj??gfw::tr`64nn!ljjihffw?
ct`NMLKJZl:jihwfut?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqGFDDBBj??gfw::tr`64nn!ljjihffw?
ct`NMLKJZl:jihwfut?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqGFDDBBj??gfw::tr`64nn!ljjihffw?
ct`NMLKJZl:jihwfut?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqGFDDBBj??gfw::tr`64nn!ljjihffw?
ct`NMLKJZl:jihwfut?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqGFDDBBj??gfw::tr`64nn!ljjihffw?
ct`NMLKJZHGWWDUBRRPONNMKKIHjj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqGFDDBBWVUZSRWPONMRKPONMFjihffw?
ct`NMLKJZHGWWDUBRRPONNMKKIHjj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqGFDDBBWVUZSRWPONMRKPONMFjihffw?
ct`NMLKJZHGWWDUBRRPONNMKKIHjj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqGFDDBBWVUZSRWPONMRKPONMFjihffw?
ct`NMLKJZHGWWDUBRRPONNMKKIHjj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqGFDDBBWVUZSRWPONMRKPONMFjihffw?
ct``:?!!6l:jihwfut?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAj??gfw::tr`64nn!ljjihffw?
ct``:?!!6l:jihwfut?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAj??gfw::tr`64nnlGFjJIBGF?
cC%%:?8!65:9Vhwfut?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAj??gfw::tr`64nn!ljjihffw?
ct``:?KJZHGWWDUBRRPONNMKnlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!DBBWVUZSRWPONMRKPO!ljjihffw?
ct``:?KJZHGWWDUBRRPONNMKnlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!DBBWVUZSRWPONMRKPO!ljjihffw?
ct``:?KJZHGWWDUBRRPONNMKnlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!DBBWVUZSRWPONMRKPO!ljjihffw?
ct``:?KJZHGWWDUBRRPONNMKnlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!DBBWVUZSRWPONMRKPO!ljjihffw?
ct``:?!!6l:jWDUBRR?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAj??ZSRWPOr`64nn!ljjihffw?
ct``:?!!6l:jWDUBRR?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAj??ZSRWPOr`64nn!ljjihffw?
ct``:?!!6l:jWDUBRR?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAj??ZSRWPOr`64nn!ljjihffw?
ct``:?!!6l:jWDUBRR?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAj??ZSRWPOr`64nn!ljjihffw?
ct``:?!!6l:jWDUBRR?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAj??ZSRWPOr`64nn!ljjihffw?
ct``:?!!6l:jWDUBRR?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAj??ZSRWPOr`64nn!ljjihffw?
ct``:?!!6l:jWDUBRR?rr`L:nlljj!hffTc!?``u::rw6uWVUTSSRPlOjihgJI%FFDCCAAV?ZYw:98NMR5Jn2GFKDCHGF?
DCBA:9!!Zl:jWDUBRR?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAj??ZSRWPOr`64nn!ljjihffw?
ct``:?!!6l:jWDUBRR?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAj??ZSRWPOr`64nn!ljjihffw?
ct``:?!!6l:jWDUBRR?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAj??ZSRWPOr`64nn!ljjihffw?
ct``:?!!6l:jWDUBRR?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAj??ZSRWPOr`64nn!ljjihffw?
ct``:?!!6l:jWDUBRR?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAj??ZSRWPOr`64nn!ljjihffw?
ct``:?!!6l:jWDUBRR?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAj??ZSRWPOr`64nn!ljjihffw?
ct``:?!!6l:jWDUBRR?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAj??ZSRWPOr`64nn!ljjihffw?
ct``:?!!6l:jWDUBRR?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAj??ZSRWPOr`64nn!ljjihffw?
ct``:?!!6l:jWDUBRR?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAj??ZSRWPOr`64nn!ljjihffw?
ct``:?KJZHGWWDUBRRPONNMKnlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!DBBWVUZSRWPONMRKPO!ljjihffw?
ct``:?KJZHGWWDUBRRPONNMKnlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!DBBWVUZSRWPONMRKPO!ljjihffw?
ct``:?KJZHGWWDUBRRPONNMKnlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!DBBWVUZSRWPONMRKPO!ljjihffw?
ct``:?KJZHGWWDUBRRPONNMKnlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!DBBWVUZSRWPONMRKPO!ljjihffw?
ct``:?!!6l:jihwfut?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAj??gfw::tr`64nn!ljjihffw?
ct``:?!!6l:jihwfut?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAj??gfw::tr`64nn!ljjihffw?
ct``:?!!6l:jihwfut?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAj??gfw::tr`64nn!ljjihffw?
ct`NMLKJZ549ihwfut2bqNMKKIHjj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqGFDDBBjihgfw::tTqLKPONMFjihffw?
ct`NMLKJZ549ihwfut2bqNMKKIHjj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqGFDDBBjihgfw::tTqLKPONMFjihffw?
ct`NMLKJZl:jihwfut?rrNMKKIHjj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqGFDDBBj??gfw::tr`6KPONMFjihffw?
ct`NMLKJZl:jihwfut?rrNMKKIHjj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqGFDDBBj??gfw::tr`6KPONMFjihffw?
ct`%qLKJZHGWihwfutPONNMKm%ljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rq6b4DBBWVUgfw::tNMRKPOmlLjihffw?
ct`%qLKJZHGWihwfutPONNMKm%ljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rq6b4DBBWVUgfw::tNMRKPOmlLjihffw?
ct`%qLKJZHGWihwfutPONNMKm%ljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rq6b4DBBWVUgfw::tNMRKPOmlLjihffw?
ct`%qLKJZHGWihwfutPONNMKm%ljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rq6b4DBBWVUgfw::tNMRKPOmlLjihffw?
ct``:?KJZHGWihwfutPONNMKnlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!DBBWVUgfw::tNMRKPO!ljjihffw?
ct``:?KJZHGWihwfutPONNMKnlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!DBBWVUgfw::tNMRKPO!ljjihffw?
ct``:?KJZHGW8hTT4uPONNMKnlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!DBBWVUTwwu98NMRKPO!ljjihffw?
ct``:?KJZHGW8hTT4uPONNMKnlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!DBBWVUTwwu98NMRKPO!ljjihffw?
ct``:?KJZHGW8hTT4uPONNMKnlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!DBBWVUTwwu98NMRKPO!ljjihffw?
ct``:?KJZHGW8hTT4uPONNMKnlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!DBBWVUTwwu98NMRKPO!ljjihffw?
ct``:?8nmHGWWDUBRRPONqLLnlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!m2AWVUZSRWPONMR54m!ljjihffw?
ct``:?8nmHGWWDUBRRPONqLLnlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!m2AWVUZSRWPONMR54m!ljjihffw?
ct``:?!!6HGWWDUBRRPON`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAWVUZSRWPONMR4nn!ljjihffw?
ct``:?!!6HGWWDUBRRPON`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAWVUZSRWPONMR4nn!ljjihffw?
ct``:?!!6HGWWDUBRRPON`L:nlljj!hffTc!?``u::8qZun4!2SRAm?OjLhgJIHGF!!CAW?UTYRWu8NrLKPnHGFKDCBfF?
DC%%:9!!6YGWWDUSAttrNMLKJ%lGFFggUBc??P`NM9Kw6ut4!2jinm?Ojcu:`rqc5!`lAWVUZSRWPONMR4nn!ljjihffw?
ct``:?!!6HGWWDUBRRPON`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAWVUZSRWPONMR4nn!ljjihffw?
ct``:?!!6HGWWDUBRRPON`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAWVUZSRWPONMR4nn!ljjihffw?
ct``:?!!6l:jWDUBRR?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAj??ZSRWPOr`64nn!ljjihffw?
ct``:?!!6l:jWDUBRR?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAj??ZSRWPOr`64nn!ljjihffw?
ct``:?!!6l:jihwfut?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAj??gfw::tr`64nn!ljjihffw?
ct``:?!!6l:jihwfut?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAj??gfw::tr`64nn!ljjihffw?
ct``:?!!6l:jihwfut?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAj??gfw::tr`64nn!ljjihffw?
ct`NMLKJZHGWWDUBRRPONNMKKIHjj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqGFDDBBWVUZSRWPONMRKPONMFjihffw?
ct`NMLKJZHGWWDUBRRPONNMKKIHjj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqGFDDBBWVUZSRWPONMRKPONMFjihffw?
ct`NMLKJZHGWWDUBRRPONNMKKIHjj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqGFDDBBWVUZSRWPONMRKPONMFjihffw?
ct`NMLKnZHGWWDUBRRPONNMKKIHjj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqGFDDBBWVUZSRWPONMRKPONMFjihffw?
ct`NMLKJZl:jihwfut?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqGFDDBBj??gfw::tr`64nn!ljjihffw?
ct`NMLKJZl:jihwfut?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqGFDDBBj??gfw::tr`64nn!ljjihffw?
ct`NMLKJZl:jihwfut?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqGFDDBBj??gfw::tr`64nn!ljjihffw?
ct`NMLKJZl:jihwfut?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqGFDDBBj??gfw::tr`64nn!ljjihffw?
ct`NMLKJZl:jihwfut?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqGFDDBBj??gfw::tr`64nn!ljjihffw?
ct`NMLKJZl:jihwfut?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqGFDDBBj??gfw::tr`64nn!ljjihffw?
ct`NMLKJZHGWWDUBRRPONNMKnlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqGFDDBBWVUZSRWPONMRKPO!ljjihffw?
ct`NMLKJZHGWWDUBRRPONNMKnlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqGFDDBBWVUZSRWPONMRKPO!ljjihffw?
ct`NMLKJZHGWWDUBRRPONNMKnlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqGFDDBBWVUZSRWPONMRKPO!ljjihffw?
ct`NMLKJZHGWWDUBRRPONNMKnlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqGFDDBBWVUZSRWPONMRKPO!ljjihffw?
ct`NMLKJZl:jihwfut?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqGFDDBBj??gfw::tr`64nn!ljjihffw?
ct`NMLKJZl:jihwfut?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqGFDDBBj??gfw::tr`64nn!ljjihffw?
ct`NMLKJZl:jihwfut?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqGFDDBBj??gfw::tr`64nn!ljjihffw?
ct`NMLKJZl:jihwfut?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqGFDDBBj??gfw::tr`64nn!ljjihffw?
ct`NMLKJZl:jihwfut?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqGFDDBBj??gfw::tr`64nn!ljjihffw?
ct`NMLKJZl:jihwfut?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqGFDDBBj??gfw::tr`64nn!ljjihffw?
ct`NMLKJZHGWWDUBRRPONNMKKIHjj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqGFDDBBWVUZSRWPONMRKPONMFjihffw?
ct`NMLKJZHGWWDUBRRPONNMKKIHjj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqGFDDBBWVUZSRWPONMRKPONMFjihffw?
ct`NMLKJZHGWWDUBRRPONNMKKIHjj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqGFDDBBWVUZSRWPONMRKPONMFjihffw?
ct`NMLKJZHGWWDUBRRPONNMKKIHjj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqGFDDBBWVUZSRWPONMRKPONMFjihffw?
ct``:?!!6l:jihwfut?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAj??gfw::tr`64nn!ljjihffw?
ct``:?!!6l:jihwfut?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAj??gfw::tr`64nn!ljjihffw?
DC%%:?8!65:92Vw5uu2rqqL:nllGihg%BTc!?``u::rw6ut4!2jiAPONjchgJI%cbaDYBWV?ZYw:P9NMq5J2HlFKDCHAF?
DCB%:98!Zl:jWDUBRR?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAj??ZSRWPOr`64nn!ljjihffw?
ct``:?!!6l:jWDUBRR?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAj??ZSRWPOr`64nn!ljjihffw?
ct``:?!!6l:jWDUBRR?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAj??ZSRWPOr`64nn!ljjihffw?
ct``:?!!6l:jWDUBRR?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAj??ZSRWPOr`64nn!ljjihffw?
ct``:?!!6l:jWDUBRR?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAj??ZSRWPOr`64nn!ljjihffw?
ct``:?!!6l:jWDUBRR?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAj??ZSRWPOr`64nn!ljjihffw?
ct``:?!!6l:jWDUBRR?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAj??ZSRWPOr`64nn!ljjihffw?
ct``:?!!6l:jWDUBRR?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAj??ZSRWPOr`64nn!ljjihffw?
ct``:?!!6l:jWDUBRR?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAj??ZSRWPOr`64nn!ljjihffw?
ct``:?!!6l:jWDUBRR?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAj??ZSRWPOr`64nn!ljjihffw?
ct``:?!!6l:jWDUBRR?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAj??ZSRWPOr`64nn!ljjihffw?
ct``:?!!6l:jWDUBRR?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAj??ZSRWPOr`64nn!ljjihffw?
ct``:?!!6l:jWDUBRR?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAj??ZSRWPOr`64nn!ljjihffw?
ct``:?!!6l:jWDUBRR?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAj??ZSRWPOr`64nn!ljjihffw?
ct``:?!!6l:jWDUBRR?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAj??ZSRWPOr`64nn!ljjihffw?
ct``:?!!6l:jWDUBRR?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAj??ZSRWPOr`64nn!ljjihffw?
ct``:?!!6l:jihwfut?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAj??gfw::tr`64nn!ljjihffw?
ct``:?!!6l:jihwfut?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAj??gfw::tr`64nn!ljjihffw?
ct``:?!!6l:jWDUBRR?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAj??ZSRWPOr`64nn!ljjihffw?
ct``:?!!6l:jWDUBRR?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAj??ZSRWPOr`64nn!ljjihffw?
ct``:?!!6l:jWDUBRR?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAj??ZSRWPOr`64nn!ljjihffw?
ct``:?!!6l:jWDUBRR?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAj??ZSRWPOr`64nn!ljjihffw?
ct``:?!!6l:jihwfut?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAj??gfw::tr`64nn!ljjihffw?
ct``:?!!6l:jihwfut?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAj??gfw::tr`64nn!ljjihffw?
ct``:?!!6l:jihwfut?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAj??gfw::tr`64nn!ljjihffw?
ct``:?!!6l:jihwfut?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAj??gfw::tr`64nn!ljjihffw?
ct``:?!!6l:jihwfut?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAj??gfw::tr`64nn!ljjihffw?
ct``:?!!6l:jihwfut?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAj??gfw::tr`64nn!ljjihffw?
ct``:?!!6l:jihwfut?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAj??gfw::tr`64nn!ljjihffw?
ct``:?!!6l:jihwfut?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAj??gfw::tr`64nn!ljjihffw?
ct``:?!!6l:jihwfut?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAj??gfw::tr`64nn!ljjihffw?
ct``:?!!6l:jihwfut?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAj??gfw::tr`64nn!ljjihffw?
ct``:?!!6l:jihwfut?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAj??gfw::tr`64nn!ljjihffw?
ct``:?!!6l:jihwfut?rr`L:nlljj!hffTc!?``u::rw6ut4!2jinm?Ojcu:`rqc5!`lAj??gfw::tr`64nn!ljjihffw?
ct``:?!!6l:jihwfut?rr`L:nlljj!hffAcbaa`ut:rZYuWml2SRhPfOjchgJI%FbaDYBWV?ZYw:99NSLKPn2GFKDCBAF?
DC%A:98!65492Vw5utP

เอาท์พุทคือราคา 49:

"It's alive! It's alive!" - Henry Frankenstein

ก่อนหน้านี้ต้องห้าม :"#&'()*+,-./0137;<=>@[\]^_ deopQksvxXyz{|}~

ตัวอักษรที่เหลืออยู่:

  • สัญลักษณ์: ! $ % : ? `
  • เบอร์: 2 456 89
  • ตัวพิมพ์ใหญ่: ABCD FGHIJKLMNOP RSTUVW YZ
  • ตัวพิมพ์เล็ก: abc fghij lmn qr tu w

คุณสามารถเรียกใช้มันกับการอ้างอิง Malbolge ล่าม


13
คำตอบนี้วิเศษมาก! ฉันไม่เคยเห็นโปรแกรม Malbonge ที่มีประโยชน์มาก่อนนับประสาแบบ จำกัด ทำได้ดี!
isaacg

10
พระมารดาของพระเจ้า คุณเขียนสิ่งนี้ได้อย่างไร
Ingo Bürk

2
ฉันอยากถามว่าคุณคิดอย่างไรกับเรื่องนี้? ฉันหมายถึงมันสร้างขึ้นอย่างเห็นได้ชัดเหมือนกับโปรแกรม malbolge ทุกตัว แต่คุณทำงานอย่างไรในการ จำกัด ตัวละคร?
Ingo Bürk

23
ฉันเพิ่งสังเกตุเห็นว่าโค้ดนั้นถูกจัดรูปแบบจนสามารถสะกดคำว่า "มีชีวิต" ในสองคอลัมน์ แดงนี่มันสุดยอดมาก นี่เป็นสิ่งที่คุ้มค่าเงินดังนั้นฉันจะเอามาเพิ่ม
Ingo Bürk

3
@gone_native รายละเอียดแล้ว? คุณทำได้อย่างไร?
Pureferret

37

10. x86 รหัสเครื่องใช้หมายเลข 9

เมื่อฉันรู้ว่าตัวละครที่เหลือรวมถึง opcodes สำหรับ 'Dec BX' และ 'Push BX' ฉันสรุปได้ว่าโปรแกรม x86 นั้นยังคงเป็นไปได้

ลิงก์สำหรับรหัสและไฟล์. com

โค้ดดูเหมือนเป็นเวอร์ชั่นที่ยาวกว่านี้มาก:

44444444444444444444444444444444448444444444444444444444444444444444444444444444
44444444444444444444444444444448444444444444444444444444444444444444444444444444
44444444444444444444444444444444444444444444444484444444444444444444444444444444
44444444444444444444444444444444444444444444444444444444444444444444844444444444
44444444444444444444444444444444444444444444444444444444444444444444444444444444
444444444844444444444444444444444444444448KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
KKKKKKKKKKKKKKKKKKKKSSSSSSSSaKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKSKKKKKKKKKKKK
KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKSKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
KKKKKKKKKKKKKKKKKKKKKKKKKKSKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
KKKKKKKKKKKKKKKKKKKSSSSSSSSSSSSSSSSSSSSSSSSSSSSKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK

รหัสที่ถูกบีบอัดด้วยbzip2และการเข้ารหัสแบบฐาน 64 คือ:

QlpoOTFBWSZTWSPev2AAAC3//IQAAE8AxAVVAljshO2a1CIgAAQCIAACQAKABEgwALtaISjAEwAC
YEwAE/RCKepoDIDQDQhgAATBEqUyYJ6TTCYm0RiYAmjE9y2DggyCjSr7QBKBBfLXbplPpVr0UZ9F
fce4QKIQigD2luNYchgZJSn9wWwWTL+vYVhM0o2SZAgIgLAWoqgeIwgnxBokBQJABPmuigiPswCA
CIqGH0GnHfFahZ987YEg6UpWEhB7jmzKcAOjGZxPEKJIMikhAUX/F3JFOFCQI96/YA==

เอาท์พุทคือราคา 18:

"ทำมันได้ Ma! Top ของโลก!" - Arthur "Cody" Jarrett

ก่อนหน้านี้ต้องห้าม :

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

ตัวอักษรที่เหลืออยู่:

  • เบอร์: 4 8
  • ตัวพิมพ์ใหญ่: K S
  • ตัวพิมพ์เล็ก: a c l n t w

มันเป็นรหัสการแก้ไขตัวเองที่สร้างรหัสการปรับเปลี่ยนตนเองนี่คือวิธีการ:

ข้อความจะถูกเข้ารหัสเป็นครั้งแรกโดยการป้อนการทำงานของ '4' ถูกยกเลิกโดย '8' ซึ่งแมปไปยังคำแนะนำที่มีประสิทธิภาพ NOPs สำหรับโปรแกรมนี้ ถัดไป BX จะลดค่าลง ('K') จนกว่าจะมีค่าที่รหัสการพิมพ์จะสิ้นสุดที่สแต็ก สิ่งนี้จะถูกผลัก 8 ครั้ง ('S') จากนั้น Pop All, 'a' จะถูกเรียกใช้งานเพื่อตั้งค่า SI และ DI ในภายหลัง จากนั้น BX จะถูกลดค่าลงเรื่อย ๆ และผลักเพื่อป้อนค่าโดยพลการของโปรแกรมการพิมพ์บนสแต็ก (ไบต์ต่ำ) พร้อมกับถังขยะ (ไบต์สูง) จากนั้นลำดับการลดลงที่ยาวนานจะได้รับ BX เป็นค่า 0xAAAD ซึ่งเป็นคำแนะนำ 1 ไบต์สองคำว่า 'โหลดคำ' และ 'Store Byte' คำแนะนำเหล่านี้แต่ละคู่จะลบหนึ่งไบต์ขยะออกจากรหัสการพิมพ์ คำแนะนำเหล่านี้ถูกผลัก 28 ครั้ง (ขนาดของโปรแกรมการพิมพ์) และส่วนที่เหลือของไฟล์จะเต็มไปด้วยคำแนะนำในการลดจำนวนมากขึ้นเพื่อทำหน้าที่เป็น NOP NOP เหล่านี้จะถูกเรียกใช้งานจนกว่าพื้นที่หน่วยความจำที่ใช้โดยสแต็กจะถูกตีซึ่งถูกเขียนทับด้วยรหัสกลั่นตัว รหัสการรวมจะถูกดำเนินการลบไบต์ขยะในรหัสบนสแต็ก (ชี้ไปที่ SI และ DI ซึ่งถูกตั้งค่าไว้ก่อนหน้านี้) สุดท้ายเมื่อเสร็จสิ้นการควบแน่นรหัสโปรแกรมการพิมพ์ได้ถูกเก็บไว้ในหน่วยความจำเรียบร้อยแล้วที่คำสั่งถัดไปเพื่อดำเนินการ

รหัสการประกอบเพื่อสร้างรหัสเครื่อง (FASM)

org 100 ชม

"สร้างมันขึ้นมา! Ma! Top of the world!" - Arthur "Cody" Jarrett

ทำซ้ำ '"'
db '4'
จบซ้ำ
db '8'
ทำซ้ำ 'M'-1
db '4'
จบซ้ำ
db '8'
ทำซ้ำ 'a'-1
db '4'
จบซ้ำ
db '8'
ทำซ้ำ 'd'-1
db '4'
จบซ้ำ
db '8'
ทำซ้ำ 'e'-1
db '4'
จบซ้ำ
db '8'
ทำซ้ำ '' -1
db '4'
จบซ้ำ
db '8'
ทำซ้ำ 'i'-1
db '4'
จบซ้ำ
db '8'
ทำซ้ำ 't'-1
db '4'
จบซ้ำ
db '8'
ทำซ้ำ ',' - 1
db '4'
จบซ้ำ
db '8'
ทำซ้ำ '' -1
db '4'
จบซ้ำ
db '8'
ทำซ้ำ 'M'-1
db '4'
จบซ้ำ
db '8'
ทำซ้ำ 'a'-1
db '4'
จบซ้ำ
db '8'
ทำซ้ำ '!' - 1
db '4'
จบซ้ำ
db '8'
ทำซ้ำ '' -1
db '4'
จบซ้ำ
db '8'
ทำซ้ำ 'T'-1
db '4'
จบซ้ำ
db '8'
ทำซ้ำ 'o'-1
db '4'
จบซ้ำ
db '8'
ทำซ้ำ 'p'-1
db '4'
จบซ้ำ
db '8'
ทำซ้ำ '' -1
db '4'
จบซ้ำ
db '8'
ทำซ้ำ 'o'-1
db '4'
จบซ้ำ
db '8'
ทำซ้ำ 'f'-1
db '4'
จบซ้ำ
db '8'
ทำซ้ำ '' -1
db '4'
จบซ้ำ
db '8'
ทำซ้ำ 't'-1
db '4'
จบซ้ำ
db '8'
ทำซ้ำ 'h'-1
db '4'
จบซ้ำ
db '8'
ทำซ้ำ 'e'-1
db '4'
จบซ้ำ
db '8'
ทำซ้ำ '' -1
db '4'
จบซ้ำ
db '8'
ทำซ้ำ 'w'-1
db '4'
จบซ้ำ
db '8'
ทำซ้ำ 'o'-1
db '4'
จบซ้ำ
db '8'
ทำซ้ำ 'r'-1
db '4'
จบซ้ำ
db '8'
ทำซ้ำ 'l'-1
db '4'
จบซ้ำ
db '8'
ทำซ้ำ 'd'-1
db '4'
จบซ้ำ
db '8'
ทำซ้ำ '!' - 1
db '4'
จบซ้ำ
db '8'
ทำซ้ำ '"' -1
db '4'
จบซ้ำ
db '8'
ทำซ้ำ '' -1
db '4'
จบซ้ำ
db '8'
ทำซ้ำ '-'- 1
db '4'
จบซ้ำ
db '8'
ทำซ้ำ '' -1
db '4'
จบซ้ำ
db '8'
ทำซ้ำ 'A'-1
db '4'
จบซ้ำ
db '8'
ทำซ้ำ 'r'-1
db '4'
จบซ้ำ
db '8'
ทำซ้ำ 't'-1
db '4'
จบซ้ำ
db '8'
ทำซ้ำ 'h'-1
db '4'
จบซ้ำ
db '8'
ทำซ้ำ 'u'-1
db '4'
จบซ้ำ
db '8'
ทำซ้ำ 'r'-1
db '4'
จบซ้ำ
db '8'
ทำซ้ำ '' -1
db '4'
จบซ้ำ
db '8'
ทำซ้ำ '"' -1
db '4'
จบซ้ำ
db '8'
ทำซ้ำ 'C'-1
db '4'
จบซ้ำ
db '8'
ทำซ้ำ 'o'-1
db '4'
จบซ้ำ
db '8'
ทำซ้ำ 'd'-1
db '4'
จบซ้ำ
db '8'
ทำซ้ำ 'y'-1
db '4'
จบซ้ำ
db '8'
ทำซ้ำ '"' -1
db '4'
จบซ้ำ
db '8'
ทำซ้ำ '' -1
db '4'
จบซ้ำ
db '8'
ทำซ้ำ 'J'-1
db '4'
จบซ้ำ
db '8'
ทำซ้ำ 'a'-1
db '4'
จบซ้ำ
db '8'
ทำซ้ำ 'r'-1
db '4'
จบซ้ำ
db '8'
ทำซ้ำ 'r'-1
db '4'
จบซ้ำ
db '8'
ทำซ้ำ 'e'-1
db '4'
จบซ้ำ
db '8'
ทำซ้ำ 't'-1
db '4'
จบซ้ำ
db '8'
ทำซ้ำ 't'-1
db '4'
จบซ้ำ
db '8'
string_end:

data_start:
ทำซ้ำ 28 * 2 + 2
ธันวาคม bx
จบซ้ำ
ทำซ้ำ 8
กด bx
จบซ้ำ
Popa

ทำซ้ำ 0x10000-0xFF21-28 * 2-2
ธันวาคม bx
จบซ้ำ
กด bx
ทำซ้ำ 0xFF21-0xFECD
ธันวาคม bx
จบซ้ำ
กด bx
ทำซ้ำ 0xFECD-0xFE4C
ธันวาคม bx
จบซ้ำ
กด bx
ทำซ้ำ 0xFE4C-0xFDB4
ธันวาคม bx
จบซ้ำ
กด bx
ทำซ้ำ 0xFDB4-0xFCEB
ธันวาคม bx
จบซ้ำ
กด bx
ทำซ้ำ 0xFCEB-0xFC7C
ธันวาคม bx
จบซ้ำ
กด bx
ทำซ้ำ 0xFC7C-0xFC12
ธันวาคม bx
จบซ้ำ
กด bx
ทำซ้ำ 0xFC12-0xFBB7
ธันวาคม bx
จบซ้ำ
กด bx
ทำซ้ำ 0xFBB7-0xFAFE
ธันวาคม bx
จบซ้ำ
กด bx
ทำซ้ำ 0xFAFE-0xFA81
ธันวาคม bx
จบซ้ำ
กด bx
ทำซ้ำ 0xFA81-0xFA61
ธันวาคม bx
จบซ้ำ
กด bx
ทำซ้ำ 0xFA61-0xFA21
ธันวาคม bx
จบซ้ำ
กด bx
ทำซ้ำ 0xFA21-0xF8CD
ธันวาคม bx
จบซ้ำ
กด bx
ทำซ้ำ 0xF8CD-0xF802
ธันวาคม bx
จบซ้ำ
กด bx
ทำซ้ำ 0xF802-0xF7B4
ธันวาคม bx
จบซ้ำ
กด bx
ทำซ้ำ 0xF7B4-0xF760
ธันวาคม bx
จบซ้ำ
กด bx
ทำซ้ำ 0xF760-0xF6F9
ธันวาคม bx
จบซ้ำ
กด bx
ทำซ้ำ 0xF6F9-0xF674
ธันวาคม bx
จบซ้ำ
กด bx
ทำซ้ำ 0xF674-0xF634
ธันวาคม bx
จบซ้ำ
กด bx
ทำซ้ำ 0xF634-0xF53C
ธันวาคม bx
จบซ้ำ
กด bx
ทำซ้ำ 0xF53C-0xF480
ธันวาคม bx
จบซ้ำ
กด bx
ทำซ้ำ 0xF480-0xF442
ธันวาคม bx
จบซ้ำ
กด bx
ทำซ้ำ 0xF442-0xF346
ธันวาคม bx
จบซ้ำ
กด bx
ทำซ้ำ 0xF346-0xF2D2
ธันวาคม bx
จบซ้ำ
กด bx
ทำซ้ำ 0xF2D2-0xF231
ธันวาคม bx
จบซ้ำ
กด bx
ทำซ้ำ 0xF231-0xF201
ธันวาคม bx
จบซ้ำ
กด bx
ทำซ้ำ 0xF201-0xF200
ธันวาคม bx
จบซ้ำ
กด bx
ทำซ้ำ 0xF200-0xF1BE
ธันวาคม bx
จบซ้ำ
กด bx

; รหัส 28 ไบต์

; เสร็จสิ้นการจัดเก็บรหัสพิมพ์

ทำซ้ำ 0xF1BE-0xAAAD
ธันวาคม bx
จบซ้ำ
ทำซ้ำ 28
กด bx
จบซ้ำ


; เสร็จสิ้นการจัดเก็บรหัสกะทัดรัดเติมพื้นที่ที่เหลือด้วย 'dec bx'
; เพื่อทำหน้าที่เป็น nop จนกว่าจะมีการตีรหัสที่แก้ไข
fill_pos:
ทำซ้ำ 0xffff-fill_pos -2
ธันวาคม bx
จบซ้ำ

1
คำตอบของฉันใช้คำแนะนำ 80386 ( IMULบางประเภท) ดังนั้นจึงอาจเรียกว่า "ภาษา" อื่น ฉันไม่ได้ลองตรวจสอบว่า x86 ยังคงเป็นไปได้ในขั้นตอนนี้หรือไม่ - แน่นอน!
Anatolyg

2
และตอนนี้เลขคี่หมดไปแล้ว :(
kennytm

@anatolyg ฉันดีใจจริงๆที่ได้ยินฉันได้แก้ไขคำตอบเพื่อสะท้อนสิ่งนี้
Sir_Lagsalot

24

61. รหัสเครื่อง 80386 + DOS ไม่ใช้ 7

u`t^cGFntlFmFnmaZKuacanftafightainahFrF!aThi2ai2ath$aWaraRLKm!calaPrFWidFntaMFrkinaMufflF8
$k!2!5%B!%!BH%!!%BAPH4?4#P^jAZj#Y1T!1L#1T41T61T?1LA1LC1TE1TI1TJ1TL1TM1TU5
1LW1T^1La1Th1Lj1LuF1Ld1Tn1TO1TZ1TuF1TO1L%1TZ1T:F1TZF1L%5
FF1T%F1T%F1L%Fj$Y1L%1LY1LOkLqEQFF1T%k|q6^1|A1|C5!   ZBBBBA!O

เอาท์พุทเป็นคำพูด 64:

"Gentlemen, you can't fight in here! This is the War Room!" - President Merkin Muffley

ก่อนหน้านี้ต้องห้าม: "'&()*+-,./\03;<=>@X_[sovy pez]{}


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

ในการรันโปรแกรมนี้ให้คัดลอกลงในไฟล์ที่มีนามสกุล.comและเรียกใช้ (linebreaks ใช้ฟอร์แมต DOS 0d 0aมีTABอักขระหนึ่งตัวในรหัส) มันแย่มากที่ระบบ Windows 64 บิตสมัยใหม่ไม่สนับสนุนโค้ด 16 บิต ต้องการระบบ Windows แบบ 32 บิตหรือDOSBoxเพื่อเรียกใช้รหัส

ฉันใช้debug.comดีบักเกอร์DOS เพื่อพัฒนารหัส หากต้องการ "รวบรวม" ซอร์สโค้ด "ให้เปลี่ยนเส้นทางไปยังดีบักเกอร์ บน DOSBox:

แก้ไขข้อบกพร่อง <quote.asm

รหัสแหล่งที่มา:

a100
    jnz 162; jump over the output data, to have it at a convenient address 104
    jz  162; (continued)
    db 'cGFntlFmFnmaZKuacanftafightainahFrF!aThi2ai2ath$aWaraRLKm!calaPrFWidFntaMFrkinaMufflF8',d,a,'$'
    ;   "Gentlemen, you can't fight in here! This is the War Room!" - President Merkin Muffley
    ; Some weird numbers; see explanations below
    dw 216b, 2132
    ; Padding
    db 35
    and ax, 2142
    and ax, 4221
    dec ax
    and ax, 2121
    and ax, 4142
    push ax; push the value 100; we will need it later
    dec ax
    xor al, 3f
    xor al, 23
    push ax
    pop si; now si points to the output message
    push byte ptr 41
    pop dx
    push byte ptr 23
    pop cx
    ; Fix the forbidden characters in the output message
    xor [si+21],dx
    xor [si+23],cx
    xor [si+34],dx
    xor [si+36],dx
    xor [si+3f],dx
    xor [si+41],cx
    xor [si+43],cx
    xor [si+45],dx
    xor [si+49],dx
    xor [si+4a],dx
    xor [si+4c],dx
    xor [si+4d],dx
    xor [si+55],dx
    xor ax, a0d
    xor [si+57],cx
    xor [si+5e],dx
    xor [si+61],cx
    xor [si+68],dx
    xor [si+6a],cx
    xor [si+75],cx
    inc si
    xor [si+64],cx
    xor [si+6e],dx
    xor [si+4f],dx
    xor [si+5a],dx
    xor [si+75],dx
    inc si
    xor [si+4f],dx
    xor [si+25],cx
    xor [si+5a],dx
    xor [si+3a],dx
    inc si
    xor [si+5a],dx
    inc si
    xor [si+25],cx
    xor ax, a0d
    inc si
    inc si
    xor [si+25],dx
    inc si
    xor [si+25],dx
    inc si
    xor [si+25],cx
    inc si
    push byte ptr 24
    pop cx
    xor [si+25],cx
    xor [si+59],cx
    xor [si+4f],cx
    ; Done with the output message
    ; Now fix the code (program patches itself)
    imul cx, [si+71], 45; "calculate" the address of the code
    push cx
    inc si
    inc si
    xor [si+25],dx; message patching was not finished... now it is
    imul di, [si+71], 36; "calculate" the patch value 0x8c
    pop si
    xor [si+41], di; make code "0xcd 0x21" - DOS function call
    xor [si+43], di; make code "0xc3" - terminate the program
    xor ax, 921; select DOS function 9 (output a string)
    pop dx; set dx to point to the output message
    inc dx
    inc dx
    inc dx
    inc dx
    db 41, 21, 4f

rcx 11b
n quote.com
w
q

หมายเหตุบางส่วน:

  • ข้อความที่ส่งออกได้ตัวละครแฮคเกอร์สวมหน้ากากกับหนึ่งใน 3 มาสก์ที่ต้องห้ามทั้งหมด0x41, 0x23และ0x24และฉันเลือกมาสก์ที่ไม่ได้รับอนุญาต
  • รหัสที่ไม่เอาท์พุทมีอักขระที่ต้องห้ามหรือแย่ลง - ไบต์ไม่ใช่ ASCII และ0xcd 0xc3พวกเขาสวมหน้ากาก XOR เช่นกันดังนั้นรหัสจะต้องแก้ไขตัวเอง
  • การเข้าถึงหน่วยความจำทั้งหมดจะดำเนินการด้วยออฟเซ็ต: พอยน์เตอร์จะไม่ชี้ไปที่สิ่งของ แต่จะลดลงไปหลายไบต์ เหตุผลคือเมื่อใช้การเข้าถึงหน่วยความจำโดยไม่มีออฟเซ็ตรหัสการเรียนการสอนไม่ใช่ ASCII
  • ตัวละครkมีความสำคัญมากที่นี่: มันเข้ารหัสIMULคำสั่งการคูณ ฉันใช้มันเพื่อรับค่าคงที่: ตัวอย่างเช่นค่าคงที่0x216bเมื่อคูณด้วย0x45จะให้ค่าคงที่ที่มีประโยชน์0x01d7ซึ่งเป็นตัวชี้ (ที่มีการชดเชยตามที่อธิบายข้างต้น) ไปยังโค้ดที่ต้องได้รับการแก้ไข ในทำนองเดียวกันหน้ากากแพทช์คือ0x2132*0x36=0x8c(ไม่ต้องสนใจการตัดปลายตรงนั้น)
  • ตามที่อธิบายไว้ข้างต้นการได้รับค่าคงที่เป็นความเจ็บปวดที่สำคัญ เพื่อทำให้แย่ยิ่งกว่านั้นฉันไม่ได้คิดเกี่ยวกับค่าเริ่มต้นของการลงทะเบียน DOS โดยทั่วไปแล้วพวกเขากำหนดให้เป็น 0 แต่ไม่สามารถตรวจสอบ ... นี้นำไปสู่การออกกำลังกายที่สนุกในการเริ่มต้นการลงทะเบียนไปที่ and ax, 2142; and ax, 42210:
  • ฉันเพิ่ม linebreaks 2 อันสำหรับ "readability" (โชคดีนี่ไม่ใช่ code-golf!) พวกเขาถูกระบุว่าเป็น "xor axe, a0d" ในรหัส; ต้องมีจำนวนคู่ดังนั้นค่าของaxจะไม่เปลี่ยนแปลง

แก้ไข: ไม่ใช้_ตัวละครอีกต่อไป (เวลาไม่เหมาะสมในการโพสต์) - ใช้ไม่ได้pop diดังนั้นการdiลงทะเบียนน้อยกว่านี้มาก


@ถูกแบนแล้วใน 78 โปรดเลือกสัญลักษณ์อื่น
kennytm

3
อุปกรณ์ประกอบฉากครับอุปกรณ์ประกอบฉาก
Claudiu

3
"การสร้างไฟล์ที่ปฏิบัติการได้ซึ่งใช้เฉพาะ ASCII ที่พิมพ์ได้ไม่ใช่เรื่องง่าย" คุณอาจพบบทความนี้น่าสนใจ: cs.jhu.edu/~sam/ccs243-mason.pdf
Russell Borogove


19

12. ShaFuck 0.2 (ไม่ใช้D)

รหัสที่มาเป็นสิ่ง 4,784,128 Dไบต์ยาวที่มีอักขระที่ได้รับอนุญาตทั้งหมดยกเว้น ดูเหมือนว่า:

atawSaa(a×1017)KKla8Kc(a×1017)atawSaa(a×1017)KKla8Kc(a×1017)…atawSaa(a×1017)4cwtrtr(a×1017)

ที่นี่ (a × 1017) หมายถึงตัวอักษร "a" ซ้ำ 1017 ครั้ง ไฟล์บีบอัด bzip2 ที่เข้ารหัส 64 ฐานข้อมูล (247 ไบต์) คือ:

QlpoOTFBWSZTWW9SDOgAgfoPgIRgAAgIACgFFIAAeEAB+52sQ2KYACaCT1VQ0AATUqgBoAUlSTEyemk+qV2BSuKhVc
hIq6AoeKqI5BEe6qI+gUpfOZshoMraraVbDZsFiti1YtEbRawVajWLbCW0mybWwthG0qrZDGrYqirG21o1BrYq2xtD
NNyCI9CoPYAiOuARHABEeqqI6FQfIjiqiOhUHdEYVKvFW2qvv6QtEYjJhpkkxEKo2qKjWjWo1jRGrFUUaNUVaNqNYq
xqNFYtqNtbVFWgzaNhW1WYtaapVPGEpxEdRHYER3iMARH+LuSKcKEg3qQZ0A==

SHA1- ผลรวมของไฟล์ต้นฉบับควรเป็น 1250ecf73c61ef93a31c4f7dfaa0a7631ada50bf

ผลลัพธ์คือคำพูด 9:

"Fasten your seatbelts. It's going to be a bumpy night." - Margo Channing

ก่อนหน้านี้ต้องห้าม :

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

ตัวอักษรที่เหลืออยู่:

  • เบอร์: 4 8 9
  • ตัวพิมพ์ใหญ่: K S
  • ตัวพิมพ์เล็ก: a c l n r t w

ShaFuck เป็นตัวแปรหนึ่งของ Brainfuck ใช้เวลาทุก ๆ 1024- ไบต์, คำนวณย่อย SHA-1, จากนั้นใช้เอาต์พุต 20- ไบต์เป็นโปรแกรม Brainfuck ดังที่อธิบายไว้ในบล็อกโพสต์ที่เชื่อมโยงจาก wiki มี "ช่องโหว่" ใน v0.2 ที่เอาท์พุท SHA-1 ของแบบฟอร์ม:

valid-bf-program[(garbage)]valid-bf-program

ได้รับการยอมรับ สิ่งนี้ช่วยให้การแปลงตรงไปข้างหน้าจากคำสั่ง brainfuck เป็นชิ้นขนาด 2048 ไบต์ ตัวเข้ารหัสใช้a- zเป็นชุดอักขระซึ่งไม่เหมาะสำหรับเรา ดังนั้นเราต้องเขียนคำว่า "miner" ด้วยตนเอง ตอนนี้มีอักขระที่ใช้ได้ 13 ตัว สมมติว่าเอาต์พุต SHA-1 เป็นแบบสุ่มถ้าเราต้องการแก้ไข 3 ไบต์แรกมันสอดคล้องกับ 3 ×log₁₃ (256) ~ 6.5 ตัวอักขระอินพุต ดังนั้นเราจำเป็นต้องทำซ้ำสตริงทั้งหมด 7 ตัวอักษรที่ทำจาก 13 ตัวอักษรเหล่านี้:

import hashlib
import itertools

characters = b'aclnrtwDKS489'

starts = {b'+>[', b'->[', b'.>[', b'.<[', b'+<[', b'-<[', b'>[', b'<['}
ends = {b']<+', b']<-', b']<.', b']>.', b']>+', b']>-', b']>', b']<'}

for i, group in enumerate(itertools.product(characters, repeat=7)):
    seq = bytes(reversed(group)) + b'a'*(1024-7)
    sha = hashlib.sha1(seq).digest()

    for s in starts:
        if sha.startswith(s):
            starts.remove(s)
            print(seq, sha)
            break

    for e in ends:
        if sha.endswith(e):
            ends.remove(e)
            print(seq, sha)
            break

    if i % 1000000 == 0:
        print('***', i, seq[:7])

จากนั้นเราจะได้รับรายการเทียบเท่าเหล่านี้อย่างรวดเร็ว:

>[(garbage)  = atawSaaaaaaa…
(garbage)]<- = 9t9nctaaaaaa…
(garbage)]<+ = KKla8Kcaaaaa…
(garbage)]<. = 4cwtrtraaaaa…

- = >[(garbage)]<- = atawSaaaaaaa…9t9nctaaaaaa…
+ = >[(garbage)]<+ = atawSaaaaaaa…KKla8Kcaaaaa…
. = >[(garbage)]<. = atawSaaaaaaa…4cwtrtraaaaa…

ในที่สุดเราก็มีเอนโค้ดเดอร์ตรงไปตรงมานี้:

def encode(quote):
    SUFFIX = 'a' * (1024 - 7)
    PREFIX = 'atawSaa' + SUFFIX
    MINUS = PREFIX + '9t9ncta' + SUFFIX
    PLUS = PREFIX + 'KKla8Kc' + SUFFIX
    DOT = PREFIX + '4cwtrtr' + SUFFIX
    value = 0
    for c in quote:
        char = ord(c)
        if char > value:
            yield PLUS * (char - value)
        elif char < value:
            yield MINUS * (value - char)
        yield DOT
        value = char

with open('1.txt', 'w') as f:
    for seg in encode('''"Fasten your seatbelts. It's going to be a bumpy night." - Margo Channing'''):
        f.write(seg)

1
SUFFIX = 'a' * (1024 - 7)- ในกรณีที่1024 - 7ไม่ได้เสมอ1017? :-)
Joe

1
@Joe: ใช่มันเป็น
kennytm

1
ยี้มีคำตอบของฉัน # 2
gone_native

@gone_native ฉันมีสิ่งนี้เช่นกัน แต่ฉันยังมีคำตอบอีก # 2 ...
jimmy23013

1
@ Joe (1024 - 7)อ่านได้มากขึ้น
วิ

18

87. Ook !, ไม่ใช้ ;

Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook!Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook!Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook!Ook.Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook.Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook!Ook.Ook.Ook.Ook!Ook.Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook.Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook!Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook!Ook.Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook!Ook.Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook!Ook.Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook.Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook!Ook.Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook!Ook.Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook.Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook.Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook!Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook!Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook!Ook.Ook!Ook!Ook!Ook!Ook!Ook.Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook.Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook!Ook.Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook!Ook.Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook.Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook!Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook!Ook.Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook!Ook.Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook!Ook.Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook!Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook!Ook.Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook!Ook.Ook!Ook!Ook!Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook!Ook.Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook!Ook.Ook!Ook!Ook!Ook!Ook!Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook!Ook.Ook!Ook.Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook.Ook!Ook!Ook!Ook.Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook!Ook.Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook.Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook.Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook!Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook!Ook.Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook!Ook.Ook.Ook.Ook!Ook.Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook.Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook.Ook!Ook!Ook!Ook!Ook!Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook!Ook.Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook!Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook!Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook!Ook.Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook.Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook!Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook!Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook!Ook.Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook.Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook.Ook!Ook.

เอาท์พุทเป็นคำพูด 84:

"Oh, no, it wasn't the airplanes. It was Beauty killed the Beast." - Carl Denham

ก่อนหน้านี้ต้องห้าม: py3\" '


คุณเขียนด้วยตัวคุณเองเหรอ?
Beta Decay

4
ฉันได้เขียนโปรแกรม Java ที่แปลง String เป็น Ook! โปรแกรมที่ส่งออกสตริง แต่มันไม่ได้ใช้ลูปเพียงแค่เพิ่มและลด
สตีฟ

1
@feuerball ดังนั้น ... มันไม่มีประสิทธิภาพจริงๆ Ook! โปรแกรมที่คุณสร้างขึ้นที่นั่น (ในแง่ของพื้นที่)
tomsmeding

2
ฉันรู้ แต่อย่างน้อยก็ทำในสิ่งที่ควรทำ
สตีฟ

1
นั่นคือการจับคู่ที่สมบูรณ์แบบของภาษาและคำพูด ฉันเอาไปคุณอ่านภาพเคลื่อนไหวไหม?
TRiG

18

76. รหัส oOoไม่มีการใช้-

WhaT_the_FuCk_iS_thE_coDe_i_Am_rEadIng_herE?
iT_AcTuaLlY_WorkS_liKe_oTHer_VaLid_CodE_in_The_ProGraMming_lAnGuaGe_CAlleD_oOO_CoDe
I_oNlY_wrOte_The_codE_hEre_To_MAke_iT_LoOk_bEttEr
tHe_cOde_CouLd_bE_wrIttEn_iN_loTS_oF_tHE_lETtER_o
BUt_I_DeCIdED_tO_MaKE_ReAdinG_iT_a_niceR_eXPeRIeNCe
NOw_I_am_RuNNing_Out_OF_cOdiNg_tIme_aNd_Fun_thiNgS_To_WRiTE
tHerEfORe_i_dECiDed_To_dO_thE_reSt_oF_thE_thIng_WitH_juSt_tHe_lETtEr_o
So_eNjoY
OoOooOoooOoOooOooOoooooOoOooOoOOoooOooOOooOoOooOoooooOoOOoOOoOOoOOoOOoOOoOooOoOOoooOOoOooOOoOooOooOooOooOooOooOooOooOooOooOooOOoOoooOoOooOooOoooooOoOooOoOOoooOooOOooOoOoooooOoOOoOOoOooOoOOoooOoOOoOOOoOooOOoOoOoOoOooOooOoooooOoOooOoOOoooOoOOoOOoOOOoOoooOoOooOooOooOoooooOoOooOoOOoooOoOOoOOOoOoOoOoOoooooOoOOoOOoOooOoOOoooOoOOOoOoOOoOOoOOoOOoOOoOOoOOoOOoOOoOOoOOOoOOoOoOOoOOoOOOoOoOOOoOoooOoOoOOoOoooOooOooOooooOoOOoooOoOOOoOooOooOooOooOooOooOooOooOooOooOooOooOOoOoOOoOOoOOoOoOoOoooooOoOOoOooOoOOoooOOoOooOooOooOooOooOooOooOOoOoOOoOOoOOoOOoOOoOOoOOoOOoOOoOOoOOOooOoOoooooOoOOoOOoOOoOooOoOOoooOooOooOOoOooOooOooOooOooOooOooOooOooOooOooOooOOoOooOooOOoOooOoooOoOooOoooooOoOOoOOoOooOoOOoooOOooOoOooOooOoooooOoOOoOooOoOOoooOoOOoOOOoOoOOoOoOoOoooooOoOOoOooOoOOoooOOoOooOoooOoOooOoooooOoOOoOOoOooOoOOoooOooOooOOoOoOoOoOooOooOoooooOoOooOoOOoooOOoOoOoOoOoooooOoOOoOOoOooOoOOoooOOoOooOoooOoOooOooOoooooOoOooOoOOoooOooOOoOoOoOoOoooooOoOOoOooOoOOoooOOoOoooOoOooOooOoooooOoOooOoOOoooOoOOoOOoOOoOOOoOoOOoOOoOOoOOoOOoOOoOOoOOOoOooOooOooOooOooOooOooOooOooOooOOoOooOooOooOooOooOooOooOooOooOooOooOooOOoOoOOoOOoOOoOOoOOoOOoOOoOOoOOoOOoOOoOOoOOOo

เอาท์พุทเป็นคำพูด 78:

"Open the pod bay doors, HAL." - Dave Bowman

ก่อนหน้านี้ต้องห้าม :py3\" ';({s[)<+.@=

ฉันจะไม่โพสต์เทียบเท่า BF / อนุพันธ์อื่น คำมั่นสัญญา

แก้ไข:ฉันอัปเดตรหัสเพื่อให้อ่านง่ายขึ้น (lol) ไม่มีผลกับอักขระต้องห้ามใด ๆ

ฉันใช้เครื่องมือนี้เพื่อสร้าง BF บริสุทธิ์ของฉัน จากนั้นฉันแปลงเป็น oOo CODE:

'<lots of bf code>'.replace(/>/g,'ooo').replace(/</g,'ooO').replace(/\[/g,'oOo').replace(/\]/g,'oOO').replace(/-/g,'Ooo').replace(/\+/g,'OoO').replace(/\./g,'OOo')

จากนั้นใช้สคริปต์ Python นี้เพื่อรับรุ่น "อ่าน" จาก pure oOo CODE และข้อความอินพุต:

ooocode = '<lots of oOo CODE>'
alphabet = [chr(x) for x in range(ord('A'), ord('Z') + 1)] + [chr(x) for x in range(ord('a'), ord('z') + 1)]
if len(ooocode) % 3: print("INVALID CODE")
inp = input()
index = 0
while inp != '':
    for char in list(inp):
        if char in alphabet:
            case = ooocode[index]
            if case.upper() == case:
                print(char.upper(), end='')
            else:
                if char.lower() in 'py3\\" \';({s[)<+.@=':
                    print("INVALID INPUT")
                else:
                    print(char.lower(), end='')
            index += 1
        elif char in 'py3\\" \';({s[)<+.@=':
            print("INVALID INPUT")
        else: print(char, end='')
    print("")
    inp = input()
print(ooocode[index:])

2
และด้วยเหตุผลบางอย่างฉันมักจะอ่านด้วยเสียงผี
ASCIIThenANSI

18

9. Addleq (ไม่ใช้t)

ใช้sqasm.cppในหน้า esolang เพื่อประกอบ ต้องการแพลตฟอร์มที่ไม่ใช่ Windows 64 บิตเพื่อให้ทำงานได้อย่างถูกต้อง

มีทั้งหมด 64 แท็บและ 64 บรรทัดใหม่ (ไม่มีบรรทัดต่อท้ายใหม่) ต๊าย

8   448
448
88  448
448
88  444
444
448 444
444 844
448 844
844 848
88  848
8   848
84  884
884
8   884
8   4844
4844
884 4844
88  488
488
8   488
488
444 488
488 4444
4444
8   4444
4444    888
88  888
44  4488
448 88888888888888888888
844 4488
4444    4484
8   4484
88  4448
4484    4448
844 88888888888888888888
4488    88888888888888888888
4484    88888888888888888888
888 88888888888888888888
488 88888888888888888888
444 88888888888888888888
848 88888888888888888888
884 88888888888888888888
4448    88888888888888888888
4444    88888888888888888888
4844    88888888888888888888
444 88888888888888888888
844 88888888888888888888
4488    88888888888888888888
4484    88888888888888888888
888 88888888888888888888
488 88888888888888888888
448 88888888888888888888
444 88888888888888888888
44  88888888888888888888
444 88888888888888888888
848 88888888888888888888
884 88888888888888888888
4448    88888888888888888888
4444    88888888888888888888
4844    88888888888888888888
444 88888888888888888888
844 88888888888888888888
4488    88888888888888888888
4484    88888888888888888888    4   888 88888888888888888888    4   8888    8888    88888888888888888888

เอาท์พุทคือราคา 22:

"Bond. James Bond." - James Bond

ก่อนหน้านี้ต้องห้าม :

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

ที่เหลือ:

  • เบอร์: 4 8
  • ตัวพิมพ์ใหญ่: K S
  • ตัวพิมพ์เล็ก: a c l n w

"Addleq" OISC คล้ายกับ "Subleq" แต่ใช้การเพิ่มแทนการลบ

กำลังสร้าง "-1"

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

int str2int(const string &s)
{
        int ret=0;
        sscanf(s.c_str(),"%d",&ret);
        return ret;
}

ที่นี่sscanf(s, "%d", &ret)มีพฤติกรรมเช่นret = strtol(s, NULL, 10);(C11 §7.21.6.2 / 12) และเมื่ออินพุตล้นstrtolจะส่งคืน LONG_MAX (C11 §7.22.1.4 / 8) ดังนั้นหากเราควรจะได้รับsizeof(long) > sizeof(int) ret == -1อย่างไรก็ตามบนแพลตฟอร์มซึ่งsizeof(long) == sizeof(int)เช่นแพลตฟอร์ม32 บิตหรือ Windows เราจะได้รับ 0x7fffffff ทำให้การแก้ปัญหาข้างต้นไม่ถูกต้อง

บันทึกแท็บด้วยแอสเซมเบลอร์

ใน addleq ระดับต่ำแต่ละคำสั่งมีความยาว 3 ตัวเลข เนื่องจากเรามีงบประมาณเพียง 128 ช่องว่างเราจึงต้องพิมพ์สตริงทั้งหมดด้วยคำสั่ง 129/3 = 43 นี่ไม่เพียงพออย่างสมบูรณ์เนื่องจากคำพูดสั้นที่สุด (เลือกที่นี่) มีความยาว 32 ตัวอักษร

อย่างไรก็ตามผู้ประกอบได้รองรับการจดชวเลข:

  1. หากบรรทัดมีเพียง 2 หมายเลขหมายเลขนั้นจะระบุหมายเลข 3 โดยอัตโนมัติเป็นที่อยู่ของคำแนะนำถัดไป
  2. หากบรรทัดมีเพียง 1 หมายเลขระบบจะคัดลอกหมายเลขนั้นและให้หมายเลขที่ 3 โดยใช้กฎ # 1

กฎ # 2 ได้รับการออกแบบสำหรับ "subleq" เพื่อให้ที่อยู่เป็นศูนย์อย่างรวดเร็ว แต่สำหรับ "addleq" ทำให้เราสามารถเพิ่มค่าเป็นสองเท่าโดยไม่มีแท็บใด ๆ

สิ่งเหล่านี้ทำให้เราสามารถปรับให้พอดีกับโปรแกรมทั้งหมดเป็น 129 หมายเลข

การสร้างตัวเลข

มีการเลือกเครื่องหมายคำพูดเพราะสั้นและมีอักขระซ้ำซ้อนจำนวนมาก หมายเลขที่เราต้องสร้างคือ:

32  space
34  "
45  -
46  .
66  B
74  J
97  a
100 d
101 e
109 m
110 n
111 o
115 s

เราสามารถใช้ตัวเลขที่ที่อยู่ 4, 8, 44, 48, 84, 88, .... กฎ # 1 ของแอสเซมเบลอร์ได้วาง "9" ไว้ที่ * 8 และ "45" ที่ * 44 ดังนั้นเราจะใช้มัน (มันดีพวกเขาเป็นเลขคี่) นอกจากนี้เราจะพยายามใส่ "-1", "8" และ "44" ลงในที่อยู่เหล่านี้โดยเลื่อนการคำนวณไปรอบ ๆ ผลลัพธ์คือครึ่งแรกของรหัส:

# *448 = 34 = (9×2 - 1)×2 = (*8×2 + *88)×2
8   448
448
88  448     # Here we get *8 == 9.
448

# *444 = 32 = -2 + 34 = (*88×2) + *448
88  444
444
448 444

# *844 = 66 = 32 + 34 = *444 + *448
444 844
448 844

# *848 = 74 = 66 + 9 - 1 = *844 + *8 + *88
844 848
88  848
8   848

# *884 = 97 = 44×2 + 9 = *884×2 + *8
84  884
884
8   884     # Here we get *44 == 45.

# *4844 = 115 = 9×2 + 97 = *8×2 + *884
8   4844
4844
884 4844

# *488 = 46 = (-2 + 9)×2 + 32 = (*88×2 + *8)×2 + *444
88  488
488
8   488
488
444 488

# *4444 = 101 = 46×2 + 9 = *488×2 + *8
488 4444
4444
8   4444

# *888 = 100 = 101 - 1 = *4444 + *88
4444    888
88  888

# *4488 = 111 = 45 + 66 = *44 + *844
# The line in the middle prints '"', and also set *88 == -1
44  4488    # Here we get *84 == *44
448 88888888888888888888    # Here we get *88 == -1
844 4488

# *4484 = 110 = 101 + 9 = *4444 + *8
4444    4484
8   4484

# *4448 = 109 = 110 - 1 = *4484 + *88
88  4448
4484    4448

บรรทัดสุดท้าย

หลังจากสร้างตัวเลขทั้งหมดแล้วเราสามารถพิมพ์อักขระแต่ละตัวได้ อย่างไรก็ตามโปรแกรมสุดท้ายมีมากกว่า 67 บรรทัดสองรายการมากเกินไป ดังนั้นเราจะต้องรวม 3 บรรทัดสุดท้ายเข้าด้วยกัน:

# From:
4484    88888888888888888888
888 88888888888888888888
8888    8888    88888888888888888888

# To:
4484    88888888888888888888    4   888 88888888888888888888    4   8888    8888    88888888888888888888

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


1
ช่างเป็นรายการของความบังเอิญที่น่าประทับใจ! ดูเหมือนว่าทั้งหมดเป็นส่วนหนึ่งของแผนการอันชาญฉลาดของคุณ
anatolyg

@anatolyg: นี่เป็นรุ่นที่สามของรหัส :) โดยสมการจะถูกเขียนใหม่หลายครั้งเพื่อลดจำนวนบรรทัด เวอร์ชันเก่ามี ~ 3 บรรทัดมากเกินไป
kennytm

มันจะยิ่งดีกว่าถ้าแทน4และ8มีและ0 7
วิ

@Vi หรืออย่างน้อย 8 และ 9 ... ดูเหมือนว่าจะมีบางภาษาที่ใช้ตัวเลขยังคงใช้ได้
jimmy23013

17

89. PHP ใช้หมายเลข

$j=chr(46);$k=chr(0x20);$l=chr(0x22);$z=chr(112);$q=<<<H
${l}I${k}feel${k}the${k}need${k}-${k}the${k}need${k}for${k}s${z}eed!$l$k-${k}Lt.${k}Pete$k${l}Maverick$l${k}Mitchell${k}and${k}Lt.${k}Nick$k${l}Goose$l${k}Bradshaw
H;
echo$q;

เอาท์พุทเป็นคำพูด 94:

"I feel the need - the need for speed!" - Lt. Pete "Maverick" Mitchell and Lt. Nick "Goose" Bradshaw

ก่อนหน้านี้ต้องห้าม :py3\"


24
คุณประณามคนชั่วร้าย
Joshpbarron

มีคนบล็อก'ตอนนี้ !!!
เครื่องมือเพิ่มประสิทธิภาพ

7
@Optimizer เสร็จแล้ว
Martin Ender

16

81. PIใช้หมายเลข<

9.1415926525897922284626422822795028841971692992751058209749445927078164062862089986280048252421170679821480865102822066470928446095505822017252594081284811174502841027019285211055596446229489549200819644288109756659224461284756482227867801652712019091456485669224602486104542266482122906072602491412727245870066062155881748815209209628292540917152642678925902600112005205488204665212841469519415116094220572702657595919520921861172819026117921051185480744622799627495672518857527248912279281820119491298226720624406566420860212949462952247271907021798609427027705292171762921767522846748184676694051220005681271452605608277857712427577896091726271787214684409012249524201465495852710507922796892589225420199561121290219608640244181598126297747712099605187072110499999982729780499510597217228160962185950244594552469082026425222082522446850252619211881710100001278287528865875222082814206171776691472025982524904287554687211595628628822527875907519577818577805221712268066120019278766111959092164201989280952572010654858622788659261522818279682202019520252018529689957726225994128912497217752804791215155748572424541506959508295221168617278558890750982817546274649292192550604009277016711290098488240128582616025627076601047101819429555961989467678274494482552797747268471040475246462080466842590694912902126770289891521047521620569660240580281501925112522824200255876402474964722629141992726042699227967822547816260092417216412199245862150202861829745557067498085054945885869269956909272107975092029552211652449872027559602264806654991198818247977525662698074265425278625518184175746728909777727928000816470600161452491921722172147722501414419725685481612611572525521224757418494684285211219071941411145477624168625189815694855620992192221842725502542568876717904946016514668049886272127917860857841818279679766814541009518817861609506800642251252051171929848960841284886269456042419652850222106611864067442786220891949450471207107869609560640719172874677646575729624128908658526459958144904780275900994657640789512694681981525957098258226205224894077267194782684826014769909026401161944074550050682004962524517490996514014298091906592509072216964615157098580874105978859597729754989001617509284681582686818689427741559918559252459519594110499725246808459872716446958486518167162226260991246080512418841904512441065497627807977156914059977001296160894416948685558484060504220722258284886481584560285060168427094522674676788952521085225499546667278209864565961160548862005774564980055906045681740241125150760694794510965960940252288797108941456691468672287489405601015045086179286809208747609178249285890097149096759852612655497818921297848216829989487226588048575640142704775551121796414515217462141645428584447952658678210511411547157195211114271661021159695162114429524849071871101457654005902799044007420070105785090621980874478084784896800214457108687519405064002184501910484810050706146806749192781911979499520614196644287544406447451247181921799985910159195618146751426912297489409071864942219615679452080951465502252216028819101420917621178559566189177870810190697920771467221825625996615014215010680184477145492026054146659252014974428507125186660021124140881907104860017046496514509057962685610055081066587969981605747060840525714591028970641401109712062804090097595156771577004200078699060072005587601764594218741251471205429281918261861258674215791984148488291644706095752706957220917567116722910981690915280175506712748582222871825209252965725121081579151169882091444210067510114671101141267111169908658516198115019701651511685171417657618151556508849099898599821871455281116055076479185058902261854896021029000898570642046752590709154814165498594616071802709819940099244889575712828905920200260972997120844005742654895822911912597461667105816041428118810120182490175898524174417029112765618091771444010707469211201910020000080197621101100449290215160842444859607669848952286847841245526582141449576857262452441892029686426242410771226978028071189154411010446821252716201052652272111660196665571092547110557851760466820650109896526918620564769012570586056620185581007295606598764861179104511488501461116576867502494416680096265797877185560845529654126654085006140444018586769751456614068007002078776591044017127494704205622005089945610140711270004078547002699090814546646458807972708266840654228587856981052158089110657574067954571617752542021149557615814002501262285941102164715509792592109907965471761255176567511575178296664547791745011299614890104619947112962107140407518957059614589019089710111790429782856475002001986915140287080859904801094121472210179476477726224142548545400021571850061422881075850400600217518297986622471721591607716692547487589866549494501146540628421661917900197692656721461851067160965712091807618127166416274888800786925602902284721040117211860820419000422966171196177921117575114959501566049611862947265470642520081770067515906705020507280540567040086740510622224771589150495009844489000096040878076922599297805419541447477441842641298608099888687411260472156951621965864571021611598191195167151812974167729478672422924654166800980676928218280689964004824154017014161149658979409241217896907069779422062508221688957080798620001590776471651228905786015881617557829705200446042815126272007040146501977774160419906655418765979292144195215411418994854447145671811624991419111814809277771018618771411772075456545122077709212019051660962804909261601975988281610020166606528619026686006062705676000544776280050450777205547105859548702790814056240145171806246446267945612754181440785202262542127819449751824172058151114771199260618111467768796959701098119110771098704085910074641442822772604659470474587847787201927715280701767907707157210444700605700700492406901108050490160128404251219256517980694114528015147012047816417885185290928545201165819141965621149141415956258658655705526904965209858011850722426482919728584781161057777560688876446248246857926019515277148010480290058760758251047470916409610626760449256274204208020856611906254540072101505958450687724602901618766795240616042522577195429162991900645507799140070404028752628889609958794757291746426057455254079091451457111469410911949525191076020825202618798521887705842972591677812149699009019211697172727847684726860849001177024242916511005005168121164150189517029891922114517220118128069650117844087451960121228599171621110171144484640900890644954440061986907548516026027505298049187407866808818008510228004508504860825009002100219715518400605455007668282949004127765527929751754612955984684494618104746119966518581518420568511862186725211402810871121282789212507712629461229561989898915821167456270102181564622010496715188190970008119800497040720961006854066441949509790190699659552452005450580685501956720229219119119185680144901982059551002261505061920419947455085908102242955449597785779024742161727111724641415419478221818528624085140066604410258885698670540154706965747458550002521142107101545940516551790686627000799585115625784022988270720198987571415957811196458440059408750681216028764962867446047746491599505497274256269010490277819868259181465741268049256487985561451721478671101904688080406046555794986419270561872911748721120807601120029911067908627089408799062016295154100714248928007220126901475466847654576164774794675200490757155527819655621222926406160116158155907422020201187277605277219005561484255518792510141511984425122141576200610642506090497500865627109505919465897514101004822769006247405060256916078154781811528406679570611086150215044521274759245449454246828860611408414861776700961207151249140410272518607648216141411462151897576645216411767969011495019108575984421919862916421909949072062046468441170940026591840440780510008945257420995082965912285085558215725001071257012668002402929525220118726767562204154205161841604847565169998116141010029960780869092916040288400269104140792886215078424516709087000699282120660418471806555567252522567522861291042487761825829765157959847015622262914860014158722980514989650226291748788202714209222245119856264766914905562842501912757710284027998066165825488926488025456610172967026640765590429099456815065265105171829412701169110785178609040708667114965580404047690085781711086455870678120014587687126600489109095620099090610010291616152881484479099042517472261948045759114911405297614757481191567091101177517210080115590248510906692017671922011229094114676851422144771790907517004406619910400075111705471918550464490260655128162288244625759160000091072250807421821408805086572917715096828874782656995995744906617585441475221970968140800515598491754171818819994469748676265516582765848158845114277568790029095170281529716144562129640415211176006651012412006597558512761785818292041974844216080071910457618912049229279650198751872127267507981255470958904556057921221000546697499215610254947802490114195212182815109114079070860251522742995818072471625916685451000120948049470791191502670400282441860414262629548000448002670496248201792896476697585184271414251702969214889627668440121260927524960157996469256504916818160900121809290459588970695065049406004021665440755890045602882250545255640564482465151875471196218440965825007540885690941100015095261790780029741207665147909425902989695946995565761218656196722786256256125216420862869222104274889218654164802296780705765615144612046927906821207188177814211562821608961208068222468012248261177185896181409181901671672220888121511755600072798094004152970028780076670944474560104556417254070906979096122571429894671540578468788614445812014590571984922528471605049221242470141214780570455105008019086996000027604787081081754501192071412254908661918119529425786905076411006181519814189141596111854147546495569781018290097164651408407007070604112070599840452251610507027056205266012764848008407611800100527902054274628654006026745228651057065874882256981579267897669742205750596854408697450201410206724585020072452256426511410559240190274216248419140159989515194590944070469120914091870012645600162174288021092764579110657922955249887275846101264816999892256959688159205600101655256175678566722796619885782794848855814197518744545512965604404800966420557982906804052202770984294202500022576041807009476994159791594500069752148290066555661567874640054666564165474217045902521229542529169414599041608751201868179170214888689479151071617852902145292440771659495610510074210871426114974595615118498711757047101787957110422969066670214498617464595280824569445789772

ผลผลิตเป็นราคา 81:

"Hello, gorgeous." - Fanny Brice

ก่อนหน้านี้ต้องห้าม: py3\" ';({s[)

อะไร ? โดยไม่ต้อง Pi 3?
ล่ามของฉันที่นี่ (ขออภัยเกี่ยวกับ UI พื้นฐานตามคำตอบนี้): http://migl.io/projects/pi/index.php


16

79. Perl 5 ใช้หมายเลข .

$PRINT=lc
q|PRINT|and$Q=chr
0x22
and$C=q|C|and$ARPE=lc
q|ARPE|and$W=chr
0x20
and$DIEM=q|diem|and$T=chr
46
and$SEIZE=q|Seize|and$THE=q|the|and$DAY=lc
q|DAY|and$BOYS=lc
q|BOYS|and$MAKE=q|Make|and$YOUR=lc
q|YOUR|and$LIVES=lc
q|LIVES|and$EXTRA=lc
q|EXTRAORDINARY|and$JOHN=q|John|and$KEAT=q|Keating|and
eval
qq|$PRINT
q^$Q$C$ARPE$W$DIEM$T$W$SEIZE$W$THE$W$DAP,$W$BOYS$T$W$MAKE$W$YOUR$W$LIVES$W$EXTRA$T$Q$W-$W$JOHN$W$KEAT^|

เอาท์พุทเป็นคำพูด 95:

"Carpe diem. Seize the day, boys. Make your lives extraordinary." - John Keating

ก่อนหน้านี้ต้องห้าม: py3\" ';({s[)<+


ในฐานะภาษา TMTOWTDI, Perl มีวิธีมากมายในการหลีกเลี่ยงข้อ จำกัด วิธีที่ใช้ที่นี่คือการสร้างคำสั่งprint "that quote"เป็นสตริงและประเมินมัน

แม้ว่า'และ"ถูกแบน Perl ยังอนุญาตให้แสดงสตริงการใช้q«…»และqq«…»ตามลำดับ และถึงแม้ว่าจะ;เป็นสิ่งต้องห้ามเนื่องจากข้อความทั้งหมดไม่เป็นเท็จเราสามารถใช้andเชื่อมโยงข้อความเข้าด้วยกัน ตั้งแต่ตัวอักษรพิมพ์ใหญ่P, Y, Sจะได้รับอนุญาตยังเราสามารถใส่p,y , sเข้าไปในสตริงสุดท้ายใช้lc(ตัวพิมพ์เล็ก) ฟังก์ชั่นในขณะที่chrสามารถใช้ในการใส่สัญลักษณ์และ"


ฉันอาจเข้าใจผิดกฎ แต่สิ่งนี้ใช้ทั้ง P และ Y เช่นเดียวกับ S
GeoffWilson

1
@G_Wilson: ตัวพิมพ์ใหญ่และตัวพิมพ์เล็กแตกต่างกัน
kennytm

ขอโทษฉันไม่ดี ฉันลืมว่าพวกเขามีค่า ASCII ที่แตกต่างกัน
GeoffWilson

"ข้อความทั้งหมดไม่เป็นเท็จ": คุณหมายถึงข้อความเหล่านี้ทั้งหมดไม่เป็นเท็จใช่ไหม ( $foo=0แน่นอนว่าเป็นเท็จ) อย่างไรก็ตามดีมาก +1
msh210

@ msh210 ใช่ข้อความเหล่านี้ทั้งหมดไม่เป็นเท็จ
kennytm

15

54. CaneCode (ไม่ใช้Q)

(ไม่จำเป็นต้องขึ้นบรรทัดใหม่และเว้นวรรค)

                                 111111111111
                            1111111111111111111111
                         8111111111111111111111111111
                      111111111111111111111111118111111
                    1111811111111811111111111822222222222
                   222222222222222222222222222222222222222
                 222222222222222222222222222222222281111111
               111111111111111111111111111111111111111111111
              11111111111111822222222222222222222222222222222
             2222222222222222222222222222222281111111111111111
            111111111111111111111111111111111111111111111111111
           11111111118222281111181111111828222222222222222822222
          2222222222222222222222222222222222222222222222222222822
         222222222281111111111                 1111111111111111111
        1111111111111111111                      11111111111111111
       111111111111111111                          1111822222222222
      222222222228111111                            118111111111118
      2222222222222222                               222222222222222
     2222222222222222                                 22222222222222
    2222222222222222                                   22222228111111
    111111111111111                                    11111111111111
   111111111111111                                      1111111111111
   11822222222222                                        2222222222222
   2222222222222                                         2222222222222
  22222222222222                                         2811111111111
  1111111111111                                           111111111111
 1111111111111                                            1111111111111
 1111111111111                                             118222281111
 181111111828                                              222222222222
 222822222222                                              222222222222
 222222222222                                              222222222222
2222222222282                                              2222222222222
8111111111111                                              1111111111111
1111111111111                                              1111111111111
1111118111111                                              1111111111111
1118111111822                                               222222222222
2222222222222                                               222222222222
2222222222222                                               222222222222
2222222222222                                               222222228111
1111111111111                                              1111111111111
1111111111111                                              1111111111111
1111111111811                                              1111118111118
2222222222222                                              2222222222222
 222222222222                     2222                     2222222222222
 2222222222222                  22281111                   111111111111
 1111111111111                 1111111111                 1111111111111
 11111111111111                11111111111                8222222222222
  2222222222222               2222222222222              22222222222222
  22222222222222              22222222222222            22228111111111
   1111111111111              111111111111111           11111111111111
   11111111111111             1111111822282222         81111111111111
    11118222222222             2222282222222222      2222222222222222
    222222222222222            22222222222222222    2222222222811111
     111111111111111            11111111111111111  1111111111111111
     1111111111111111           11111111181811111822222222222281811
      11182222222222222          222222222222222222222222222222222
       22222222222222222          2222222282222222811111111111111
       1111111111111111111         11111111111111111111111111111
        1111111111111111111111111118222222222222222222228111111
         11111111182222222222222222222222222222222222222222222
          222222222222222222222222222222222222222281822811111
           1111111182222222222222811111111111111111111111111
            111111111111111181111111111111111111111181111111
             111822822228222222222222222222222222222222222222
               22222222222222222222222222222222281111111111111
                11111111111111111111111111111111111118111111111
                  1111118181111111811111818111111118222222222222
                   2281111111111181111118222222222222222222222222
                      22222222222222222222222222222222222222222222
                        222222281111111111111    1111111111111181111
                            111111111111          1111111811811111111
                                                    822222222222222222
                                                     222222222222222222
                                                      222222222222222222
                                                       222222222222222222
                                                        222281111111111111
                                                         111111111111111111
                                                           1111111111111111
                                                            111811111111111
                                                             11111111111111
                                                               11118222222
                                                                2222222811
                                                                 11111811
                                                                   1118

เอาท์พุทเป็นคำพูด 71:

"Wait a minute, wait a minute. You ain't heard nothin' yet!" - Jakie Rabinowitz/Jack Robin

ก่อนหน้านี้ต้องห้าม :"#&'()*+,-./037;<=>@[\]^_ deopsvxXyz{|}~


CaneCode เป็นอนุพันธ์ BF อีกอันหนึ่งที่มีการแม็พ:

  • 1 → +
  • 2 → -
  • 3 → <
  • 4 →>
  • 5 → [
  • 6 →]
  • 7 →
  • 8 →

เพียงแค่ทราบ: ตัวละครที่เหลือคือ:

  • สัญลักษณ์: ! $ % : ? `
  • เบอร์: 12 456 89
  • ตัวพิมพ์ใหญ่: ABCDEFGHIJKLMNOP RSTUVW YZ
  • ตัวพิมพ์เล็ก: abc fghijklmn qr tu w

18
ฉันค่อนข้างแน่ใจว่าฉันเห็นคิวอยู่ที่นั่น
งานอดิเรกของ Calvin

14

6. Subskin (ไม่ใช้K)

บรรทัดที่ 9 ในโปรแกรมต่อไปนี้จะถูกแทนที่ด้วยสิ่งที่ทดสอบได้ มีการขึ้นบรรทัดใหม่ 2 บรรทัดและมี 64 บรรทัดทั้งหมด

a
a
cc

88888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888c
cc
cc
cc
8c6ec6862e611a909aefef7133fc410dff7e22f63f7493b2f8e452888467b057b57bea88a311cadb514028e5cdc7397ab03a55e312d5a0a7d93b880f26cfd6c679f780c1f1ce3691cc9d92c228b0159a5f0f0c6a1a7dddec2791621b1782567e16273ff2019feb3d44320fec1073a536acc0b06462
cc
4
a
a8

a
ac
ac
a
aa
aa
a
aa
ac
aa
ac
aa
aa
c8
8
a8
cc
c8
aa
ca
a8
8
a8
4
ca
4
c8
cc
cc
ac
aa

a
c8
4
c
aa
c
8
a8
c4
a8
c8
8
c4
c8
a8
ac
aa

เพื่อให้เป็นไปตามเกณฑ์ควรจะเปลี่ยนบรรทัด 9 เป็นจำนวนมากดังต่อไปนี้ ฉันคิดว่าสิ่งนี้ควรจะถูกต้องเช่นเดียวกับพันธุ์ Unary เหล่านั้น

  • มันมีตัวเลข
  • ทุกบาทที่มี 4109527714173620014271192135615819980149748934951677499623857818618801276212206327654950831404071330954232878836395346962954202538476535987403920483325378835064959624187891476909072253512354662379230835497647226755470473642747146485760293230336401802073590883942400000000000000000 * ตัวเลข k aไปทางขวาของมันเป็น ดังนั้นหลักสุดท้ายเป็นaที่ k = 0 และมี 159321460184447640588063043795531819638245990121854536131792918542864566418397339281153516086677425424423723475531974684547855358001230183547851703274577276601612622258171727288003902331619018508731805969660163575803761844794365403871421372122820829226554024584224464882571689865777 ของพวกเขา
  • 8ทุกบาทที่ไม่ได้อยู่ในตำแหน่งนั้นเป็น

โปรดทราบว่าตัวเลขที่สร้างขึ้นอยู่ในฐาน 16 (แต่ตัวเลขในคำอธิบายข้างต้นอยู่ในฐาน 10) หากการคำนวณของฉันถูกต้องควรเป็นหมายเลขเดิมในโปรแกรมดัดแปลง 8 * (16 ^ 234-1) / 15 จำนวนใดมากพอและเป็นไปตามเกณฑ์นี้ควรใช้งานได้ แต่ฉันไม่ทราบวิธีการสร้างหมายเลขที่สั้นกว่าด้วยเท่านั้น4 8 a cแต่ผมไม่ทราบว่าวิธีการสร้างสั้นมีเพียงหนึ่ง

เอาท์พุทคือคำพูด 1:

"Frankly, my dear, I don't give a damn." - Rhett Butler

กับบรรทัดใหม่ชั้นนำและต่อท้าย

ก่อนหน้านี้ต้องห้าม:

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

ตัวอักษรที่เหลืออยู่: 4 8 S a c w.

คำอธิบาย

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

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

มันเป็นเพียงขั้นตอนวิธีตัวหารร่วมมากที่ยิ่งใหญ่ที่สุด A / B ถูกดึงออกมาในแต่ละขั้นตอน จากนั้นตั้งค่า A = B และ B = A mod B และดำเนินการต่อ

แม่นยำยิ่งขึ้นเมื่อ A> B มันเพิ่มข้อมูลปัจจุบันมิฉะนั้นมันจะสลับตัวเลขและย้ายตัวชี้ หลังจากนั้นจำนวนที่น้อยลงจะถูกลบออกจากจำนวนที่มากกว่า

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

รหัส

a       Start execution at 10.
a       The first byte of output cannot be suppressed without the minus character.
        But fortunately it can still output a leading newline,
        and this is allowed in the question.
cc      Input, not used.
0       Only used in the extracted code.
A  (*4) Data number A + 4, or the accumulator at run-time.
cc
cc
cc
B  (*8) Data number B.
cc
4  (*a) Start execution here. It moves A to *a8 at the first time,
        and the accumulator - 4 to the current position at later times.
a       Minus 4, which is the smallest addressable number defined at the beginning.
a8 (*c) The pointer for self-extraction. Initially it point to the position of A
        at run-time, and this instruction moves *4 there. Then it is decremented,
        and the memory before *a8 is used for storing the extracted code.
        Constant definitions:
0       *ac = current address - 4 = 9.
a
ac
ac      *aa = 5.
a
aa
aa      *aa = 1.
a
aa
ac      *ac = 8.
aa
ac
aa      *c8 = 0.
aa
c8
8       Check if B > A. True at the first time so the initializations could be done.
a8
cc
c8        If yes, *ca = -1 (just another constant), and skip the next instruction.
aa
ca
a8        If no (B <= A), A -= B.
8
a8
4       Increment the accumulator. It has no effects if B > A.
ca
4
c8      If B < A (before the A -= B if that is executed):
cc
cc
ac        Go back to the starting position.
aa
0
a       Reset the accumulator to 4 (which means 0 when writing to the target position).
c8
4
c       Decrement the pointer for extraction.
aa
c
8       Swap A and B and A -= B.
a8
c4
a8
c8
8
c4
c8
a8
ac      Go back to the starting position.
aa
0       Finally the extraction code overrides this field and change it to 4,
        making it a no-op, so the execution continues.
6e      Jump to the beginning of extracted code.
aa
0
(29 times 0, not used.)
a6(*60) The pointer for output. And this just output the character at the pointer.
3
1
60      Decrement the pointer for output.
aa
60
60      Check if there is still data to output.
6d
4
6e        If yes, continue the output loop.
aa
0
a9        If no, access the undefined address *a9 to end the program.
6f(*6d) The position of the end of output.
5e(*6e) The starting position of the output loop.
(The reversed data.)
X       The junk data at the beginning of the extraction.
A (*a8) Number A at run-time.

รุ่น

สมมติว่า A และ B หลังจากความคืบหน้าการแยกเป็น n และ m ง่ายต่อการย้อนกลับความก้าวหน้านี้และรับ A และ B (ก่อนที่ข้อมูลที่เป็นประโยชน์จะเริ่มต้น) ในรูปของ n และ m และ A = an + bm, B = cn + dm ตั้งค่า A เป็นตัวเลขที่มีขนาดใหญ่พอและสามารถทำให้ n และ m เป็นทั้งบวก (และใช้เฉพาะอักขระที่มีอยู่) สามารถคำนวณ n และ m ได้โดยใช้โมดุลผกผัน จากนั้น B ถูกกำหนดโดย n และ m

แต่มันไม่ง่ายเลยที่จะทำให้ B นั้นประกอบไปด้วยตัวละครเหล่านั้นเท่านั้น ฉันใช้ขั้นตอนพิเศษที่ควรแยกข้อมูลขยะที่ไม่เป็นอันตราย ดังนั้น B ใหม่จะเป็น kA + B โดยที่ k เป็นจำนวนเต็มบวก มันง่ายที่จะเห็นอาก้าอยู่ แต่ฉันไม่แน่ใจว่าเป็นไปได้หรือไม่ที่จะหาตัวที่สั้นพอที่จะทดสอบได้ และฉันใช้ทฤษฎีบทเล็ก ๆ ของแฟร์มาต์เพื่อค้นหาสิ่งที่ใช้ได้ในทฤษฎี

ฉันเหลือเพียง # 2 ภาษาเท่านั้น


13

78. Mathematica ใช้หมายเลข @

2986092695862452869648821144242466624048554924749885449420879769410086580524-10000011000000001010001000000000000000000000000000000001//#/87790498804444451827485960720854800964024844465254951684711241427814652487~Subtract~100001101000000000000000000000000001010000001000000000000000001000000&//ContinuedFraction//FromCharacterCode

เอาท์พุทคือราคา 76:

"Hasta la vista, baby." - The Terminator

ก่อนหน้านี้ต้องห้าม: py3\" ';({s[)<+.

สร้างเช่น:

str = "\"Hasta la vista, baby.\" - The Terminator";
chrs = ToCharacterCode @ str;
fraction = FromContinuedFraction @ chrs;
n = Numerator @ fraction;
d = Denominator @ fraction;
ndiff = Boole[# == 3]& /@ IntegerDigits @ n // FromDigits;
ddiff = Boole[# == 3]& /@ IntegerDigits @ d // FromDigits;
n2 = n + ndiff;
d2 = d + ddiff;

โปรแกรมคือ:

n2 - ndiff // # / d2 ~ Subtract ~ ddiff & // ContinuedFraction // FromCharacterCode

ที่มีค่าสำหรับแทรกn2, ndiff, d2และddiffและพื้นที่ออกทั้งหมด


ความคิดเดิมของฉันคือการใช้ToString, FromDigits, IntegerDigits, และPartition FromCharacterCodeอย่างไรก็ตามทั้งคู่FromDigitsและIntegerDigitsมีสิ่งsที่ฉันไม่ได้สังเกต


5
ประณามกำลังทำงานใน Befunge หนึ่ง
PurkkaKoodari

11

72. แอสเซมบลี x86_64 (nasm), ใช้หมายเลข *

BITS    64
extern  _exit
global  main

q:  dd  21111642486/11
    dd  7621846918/14
    dd  44456111856/24
    dd  572619118
    dd  21141585696/17
    dd  5982995755/11
    dd  49922657928/26
    dd  27216242192/16
    dd  11&~1

main:
    dd  89851824/6
    db  255
    db  255
    db  255
    db  72
    db  184
    dq  q
    db  72
    db  274/2
    db  198
    dd  2416/2
    db  2
    dd  87241517818/26
    dd  17268/2
    db  2/4
    db  15
    db  5

    db  49
    db  255
    call    _exit

ใช้ 61 แท็บและ 36 บรรทัดใหม่

ผลผลิตเป็นข้อความอ้างอิง 68:

"Here's Johnny!" - Jack Torrance

ก่อนหน้านี้ต้องห้าม: py3\" ';({s[)<+.@=-,X0

วิธีนี้ใช้การwriteเรียกระบบด้วยหมายเลข0x2000001ซึ่งอาจใช้ได้กับ OS X เท่านั้นการประกอบการเชื่อมโยงและการทำงาน:

nasm -f macho64 codegolf.asm
ld -e main codegolf.o -lc
./a.out

ดีที่สุด อ้างอิง เคย รุ่งโรจน์!
Conor O'Brien

11

71. GolfScript ใช้หมายเลข /

:?546]84]616]869]121]295]114]1125]288]872]2149]882]2661]289]1826]544]45]1568]67]97]2162]111]876]1824]65]622]878]2917]2592]582]2418]4197]4965]1644]617]1646]615]?^

เอาท์พุทคือราคา 69:

"They're here!" - Carol Anne Freeling

ก่อนหน้านี้ต้องห้าม: py3\" ';({s[)<+.@=-,X0*

ขอบคุณ Peter Taylor ที่ให้ฉันเข้าไปใน GolfScript บางเรื่องแปลก ๆ สำหรับการสร้างสตริง ก่อนอื่นฉันสามารถรับสตริงว่างได้โดยไม่ต้องใช้เครื่องหมายคำพูดโดยกำหนดเนื้อหา STDIN (ว่าง) ให้กับตัวแปร ( ?ในกรณีนี้) จากนั้นฉันก็สร้างอาร์เรย์ที่ซ้อนกันของตัวเลขซึ่งใช้ mod 256 เป็นจุดรหัสที่ต้องการ โดยการเพิ่มทวีคูณของ 256 ฉันจะหลีกเลี่ยงที่ซ้ำกันและตัวเลขที่มีและ0 3สุดท้ายฉันก็ดันสตริงว่างด้วย?แล้วหาค่าความแตกต่างของชุดสมมาตร วิธีนี้จะทำให้อาร์เรย์เรียบและรวมเข้าด้วยกันเป็นสตริงโดยที่ GolfScript จะสนใจเฉพาะ mod ที่เหลือ 256 เท่านั้น

ทดสอบที่นี่



10

95. Python

print('"I\'m the king of the world!" - Jack Dawson')

เอาท์พุทคือราคา 100:

"I'm the king of the world!" - Jack Dawson

ไม่มีข้อห้าม


20
ความแตกต่างของคะแนนโหวตระหว่างคำตอบนี้และคำตอบนี้คือปริศนาที่เป็น Stack Exchange
งานอดิเรกของ Calvin

10

73. AppleScript ไม่ใช้หมายเลข 0

(ช่องว่าง "ทั้งหมด" เป็น "แท็บ" ตามที่ OP อนุญาตมี 25 แท็บและ 8 บรรทัดใหม่)

Set c   to  146/2&115&2*16&525/5&116&2*16&115&97&51*2&1111/11&126/2&2*17&2*16&45&2*16&68&114&46&2*16&67&2*52&114&525/5&115&116&525/5&97&2*55&2*16&166/2&122&1111/11&2*54&2*54
Set e   to  2*17
Set d   to  aScii   character   of  e
rePeat  with    i   in  c
Set d   to  d&aScii character   of  i
end rePeat
diSPlaY alert   d

เอาท์พุทคือราคา 70:

"Is it safe?" - Dr. Christian Szell

ก่อนหน้านี้ต้องห้าม :py3\" ';({s[)<+.@=-,X


ที่นี่เราก่อนสร้างตัวแปรcซึ่งเป็นรายการของรหัส ASCII ของใบเสนอราคา ใน AppleScript number & numberสร้างรายการ 2 องค์ประกอบ{number, number}และlist & numberเพิ่มหมายเลขต่อท้ายรายการเพื่อให้เราสามารถหลีกเลี่ยงการใช้{หรือ,หรือนอกจากนี้&มีลำดับความสำคัญต่ำกว่า*และ/เพื่อให้เราสามารถสร้างรายการทั้งหมดในหนึ่งบรรทัดโดยหลีกเลี่ยง(หรือสร้างตัวแปร (ซึ่งทำให้สิ้นเปลือง 3 แท็บ)

หลังจากที่เราแปลงรายการของตัวเลขลงในสตริงc dเราใช้&ที่นี่อีกครั้งเนื่องจากstring & stringเป็นการต่อข้อมูล AppleScript ไม่คำนึงถึงขนาดตัวพิมพ์ดังนั้นเราจึงสามารถใช้diSPlaYเพื่อแก้ปัญหาpysตัวละคร


อ่าฉันพยายามตอบ AppleScript ด้วย แต่ฉันไม่รู้ว่าคำหลักนั้นตรงตามตัวพิมพ์ใหญ่ - เล็กดังนั้นฉันจึงไม่สามารถใช้setและล้มเหลวได้ ฉันมีคำตอบสำหรับข้อความที่ # 62 แต่ฉันไม่สามารถใช้ตอนนี้ได้ P
Tyilo

10

57. ล้อเลียน (ไม่ใช้|)

บรรทัดใหม่ใช้สำหรับการชี้แจงเท่านั้น แต่จำเป็นต้องมีแท็บ มี 4 แท็บ

??9!!JJJJJJJJJJJJJJJJ
?iJ
?iJJ
?i?i?i?i?iJJ
?i?i?i?i?iJJ
?i
61118256541846584114424692216989142925962811646445822862641986546895526246185888152124859614142688
    41224222121111121111121111211111111114221112222112121211424411124111124222222211114424211211111121
$$6tdfCtiB!
j54ia
j5ia
j29ia
j9ia
j41?d?d?d?dia
j1?dia
j59ia
j59ia
j8?dia
j14ia
j21?dia
j24ia
j26ia
j41?d?d?d?dia
j41ia
j48ia
j52ia
j55ia
j61?dia
j65ia
j68?dia
j69?i?i?i?i?iia
j69?i?i?i?i?i?i?iia
j82ia
86
    29B!ZZ1!!1ia
61
    21B!ZZ1!!81?d?d?dia
48
    26B!ZZ1!!85ia
Q

เอาท์พุทเป็นคำพูด 87:

"Sawyer, you're going out a youngster, but you've got to come back a star!" - Julian Marsh

ก่อนหน้านี้ต้องห้าม :"'&()*+-,./\037;<=>@_[sovy pezxX]^{}~


Burlesque นั้นคล้ายกับ GolfScript แต่โดยทั่วไปแต่ละคำสั่งจะมีความยาว 2 ตัวอักษร การก่อสร้างเป็นเช่นนี้:

  1. Burlesque รองรับจำนวนเต็มความแม่นยำโดยพลการและยังอนุญาตให้แปลงเป็นฐาน 36 ดังนั้นก่อนอื่นเราเข้ารหัสอักขระตัวพิมพ์เล็กทั้งหมดในฐาน 36:

       awyeryouregoingoutayoungsterbutyouvegottocomebackastarulianarsh₃₆
    == 3379063095879820583038345369081212641008420750861587542962343112066870047037314854758539\
       9600704049₁₀
    
  2. น่าเสียดายที่ตัวเลขนี้มี 0, 3 และ 7 มากเกินไปและสัญลักษณ์ทางคณิตศาสตร์ทั้งหมด ( +-*/) ถูกแบน ... โดยปกติเราสามารถใช้โมดูลัสได้ แต่ Burlesque ใช้ลำดับ.%ที่จุดนั้นไม่สามารถใช้ได้ โชคดีที่ผู้ดำเนินการของ xor นั้นแปลก$$ดังนั้นเราสามารถลองสร้างมันขึ้นมาโดย xor-ing สองตัวที่ไม่มี 0, 3, 7 นี่คือเหตุผลของตัวเลขขนาดใหญ่ 41224222 ...

  3. ในที่สุดเราใส่สัญลักษณ์ที่เหลือเหมือน,, ฯลฯ กลับเข้ามาในสตริง ข่าวร้ายคือฟังก์ชั่น "chr" ใช้ลำดับL[ที่ต้องห้ามอีกครั้ง! ข่าวดีก็คือมีหลายวิธีในการสร้างสตริงที่มีอยู่ (เช่น??สร้างสตริงเวอร์ชัน"Burlesque - 1.7.3"ที่มี "ช่องว่าง") จากนั้นแยก ( !!) อักขระจากมัน

  4. การเพิ่มขึ้นของผู้ประกอบการลดลงและยังใช้ตัวอักษรต้องห้าม.+, .-แต่มีทางเลือก?i, ?dที่มีผลเช่นเดียวกัน ดังนั้นเราสามารถสร้างสเปกตรัม ASCII ทั้งหมดจากสิ่งนี้


10

34. รหัสเครื่อง 6502 + การตรวจสอบระบบ Apple II (ใช้หมายเลข b )

(ใช้ 1 แท็บ)

262G    a!mwfl%mDmqli!flqlPmqljjPfuGf!T%wGK!96H4wGH4K2O!R!F%w9uGwGr?wGi299D!H2T%wGw%K2K!K!96F!9%jjjjjflPwP!fmjjjjjPwfmfm6m%lHjjPwflflflflclclclclfljclflclVljHHjjPqPDClflClflflclclclclclclflflflflflflflflflflflflflflflflflflflflflfljj6mP6

เอาท์พุทเป็นคำพูด 41:

"We rob banks." - Clyde Barrow

ก่อนหน้านี้ต้องห้าม :"#$&'()*+,-./01357:;<=>@[\]^_ ABdeEghIJLMNopQksUvWxXyYzZ{|}~

ตัวอักษรที่เหลืออยู่:

  • สัญลักษณ์: ! % ? `
  • เบอร์: 2 4 6 89
  • ตัวพิมพ์ใหญ่: CD FGH K OP RST V
  • ตัวพิมพ์เล็ก: a c f ij lmn qr tu w

ทำงานบน Apple // e (หรืออีมูเลเตอร์) ตรวจสอบให้แน่ใจว่ามีการคัดลอกอักขระแท็บเป็นแท็บและไม่เว้นวรรค


นี่เป็นการรวมกันของแนวคิดของรหัสเครื่อง 80386 +คำตอบDOSและApplesoft BASICรุ่นก่อนหน้าของฉันคำตอบ

สำหรับผู้ที่ไม่คุ้นเคยคอมพิวเตอร์ Monitor System ใน Apple II เป็นล่าม / ดีบักเกอร์ระดับต่ำมากที่ให้คุณปรับเปลี่ยนหน่วยความจำและเรียกใช้รหัส (หากคุณใช้ล่ามพื้นฐานคุณสามารถเข้าสู่การตรวจสอบระบบโดยทำCALL -151) วิธีปกติในการป้อนรหัสเครื่องในการตรวจสอบระบบ<addr>: <hex_byte> <hex_byte> ...คือและการเรียกใช้รหัสจะดำเนินการโดย<addr>G (G สำหรับ "Go") การป้อนรหัสตามปกติใช้ตัวอักษรต้องห้าม อย่างไรก็ตามอินพุตบัฟเฟอร์สำหรับการป้อนบรรทัดข้อความเริ่มต้นที่หน่วยความจำ 0x200 ดังนั้นหนึ่งซับบอกให้การตรวจสอบระบบเพื่อข้ามไปที่ 0x262 แล้วรหัสฝังตัวเป็น ASCII ดังนี้

แม้จะไม่ใช่ภาษาที่ลึกลับ แต่ข้อ จำกัด ของ opcodes ที่ใช้งานได้ทำให้รหัสนั้นใกล้เคียงกับอนุพันธ์ของ brainfuck ทั้งหมดที่มีอยู่: หน่วยความจำการอ่าน (แต่ไม่ใช่การเขียน), การเพิ่มและลดหน่วยความจำ, การลบออกจากการสะสมและการแยกที่ไม่ใช่ 0 มีเพียงคำสั่งคู่เดียวที่ได้รับการแก้ไข: การเรียกไปยังรูทีน Monitor เพื่อสิ้นสุดโปรแกรม

ถอดชิ้นส่วน โปรดทราบว่าการป้อนอักขระทั้งหมดจะได้รับชุดบิตสูง:

; Branch here when done to return (patched from E1)
0205-   60          RTS
;
; Output loop: at this point, $EC-$ED points to the beginning of the
; phrase, which starts at 0x21F. Each character is encoded as 2 bytes.
; The ASCII value (with high bit set) is determined by doing:
; 2 - Byte1 - 0xA1 - Byte2, where subtraction with borrow is used (and
; borrow is always set for the first subtraction).
;
; Monitor routine to output (patched from A1 ED F7)
0206-   20 ED FD    JSR   $FDED
0209-   E6 EC       INC   $EC
020B-   A5 ED       LDA   $ED
020D-   C4 ED       CPY   $ED
020F-   F1 EC       SBC   ($EC),Y
0211-   E9 A1       SBC   #$A1
0213-   E6 EC       INC   $EC
0215-   F1 EC       SBC   ($EC),Y
0217-   D0 ED       BNE   $0206
; Computed value 0. We're done, so branch to the return instruction.
0219-   F1 EC       SBC   ($EC),Y
021B-   EA          NOP   
021C-   EA          NOP   
021D-   D0 E6       BNE   $0205
;
; Encoded string resides from 0x21F-0x25C
;
025D-   EA          NOP   
025E-   EA          NOP   
025F-   EA          NOP   
0260-   EA          NOP   
0261-   EA          NOP
; Execution begins here
; First, set up $EC-$ED to point to 0x200. No writes, so
; increment until the values are 0, then increment MSB twice.
0262-   E6 EC       INC   $EC
0264-   D0 F7       BNE   $025D
0266-   D0 A1       BNE   $0209 ; Boing!
0268-   E6 ED       INC   $ED
026A-   EA          NOP   
026B-   EA          NOP   
026C-   EA          NOP   
026D-   EA          NOP   
026E-   EA          NOP   
026F-   D0 F7       BNE   $0268
0271-   E6 ED       INC   $ED
0273-   E6 ED       INC   $ED
; Zero out A, X, Y registers
0275-   B6 ED       LDX   $ED,Y
0277-   A5 EC       LDA   $EC
0279-   C8          INY   
027A-   EA          NOP   
027B-   EA          NOP   
027C-   D0 F7       BNE   $0275
; Patch up tab character to make it a return so Monitor doesn't
; parse anything after the "262G"
027E-   E6 EC       INC   $EC
0280-   E6 EC       INC   $EC
0282-   E6 EC       INC   $EC
0284-   E6 EC       INC   $EC
; "isc" is undocumented instruction that increments memory then
; subtracts the result from accumulator.
0286-   E3 EC       isc   ($EC,X)   
0288-   E3 EC       isc   ($EC,X)   
028A-   E3 EC       isc   ($EC,X)   
028C-   E3 EC       isc   ($EC,X)   
028E-   E6 EC       INC   $EC
0290-   EA          NOP   
; Patch up RTS and JSR instructions at 0x205 and 0x206
; This loop adds 0x80 to the original values to get close
0291-   E3 EC       isc   ($EC,X)   
0293-   E6 EC       INC   $EC
0295-   E3 EC       isc   ($EC,X)   
0297-   D6 EC       DEC   $EC,X
0299-   EA          NOP   
029A-   C8          INY   
029B-   C8          INY   
029C-   EA          NOP   
029D-   EA          NOP   
029E-   D0 F1       BNE   $0291
02A0-   D0 C4       BNE   $0266 ; Boing!
; Finish patching RTS and JSR
; "dcp" undocumented "decrement then compare"
02A2-   C3 EC       dcp   ($EC,X)
02A4-   E6 EC       INC   $EC
02A6-   C3 EC       dcp   ($EC,X)
; Patch address of character output call F7ED -> FDED
02A8-   E6 EC       INC   $EC
02AA-   E6 EC       INC   $EC
02AC-   E3 EC       isc   ($EC,X)   
02AE-   E3 EC       isc   ($EC,X)   
02B0-   E3 EC       isc   ($EC,X)   
02B2-   E3 EC       isc   ($EC,X)   
02B4-   E3 EC       isc   ($EC,X)   
02B6-   E3 EC       isc   ($EC,X)   
; Move pointer up to start of encoded string
02B8-   E6 EC       INC   $EC
02BA-   E6 EC       INC   $EC
02BC-   E6 EC       INC   $EC
02BE-   E6 EC       INC   $EC
02C0-   E6 EC       INC   $EC
02C2-   E6 EC       INC   $EC
02C4-   E6 EC       INC   $EC
02C6-   E6 EC       INC   $EC
02C8-   E6 EC       INC   $EC
02CA-   E6 EC       INC   $EC
02CC-   E6 EC       INC   $EC
02CE-   E6 EC       INC   $EC
02D0-   E6 EC       INC   $EC
02D2-   E6 EC       INC   $EC
02D4-   E6 EC       INC   $EC
02D6-   E6 EC       INC   $EC
02D8-   E6 EC       INC   $EC
02DA-   E6 EC       INC   $EC
02DC-   E6 EC       INC   $EC
02DE-   E6 EC       INC   $EC
02E0-   E6 EC       INC   $EC
02E2-   E6 EC       INC   $EC
02E4-   EA          NOP   
02E5-   EA          NOP   
02E6-   B6 ED       LDX   $ED,Y
; Setup done, bounce our way up to the output loop at 0x209
02E8-   D0 B6       BNE   $02A0

10

14. รหัสเครื่อง PDP-11 ใช้หมายเลข O

4
rar
raw
rrrlratarltararltararltararlratarltararlratarlratarltararlratarlratarltararlratarltararlratarltararlratarltararlratarltararlra4cw
rrrlratarlratarltararlratarlratarlratarltararltararlratarlratarlratarltararlra8cw
rrrltararlratarlratarlratarltararltararltararlratarlratarltararlratarlratarltararltararltararlralaw
rrrlratarltararlratarltararltararlratarltararltararlratarltararlratarltararlratarlratarltararlratarltararlratarltararlranaw
rrrltararltararltararltararltararltararlratarltararlratarlratarltararlratarlratarltararltararlrarcw
rrrltararltararltararltararlratarltararlratarltararltararlratarlratarlratarltararltararltararlratcw
rrrlratarltararltararltararlratarlratarltararlratarltararltararlratarlratarltararlratarltararlratarltararlra449nlarc9nnatcrl4K4KDcDcDcDc    u444444DuS4S4S4SaS4S4S4S4SaDuc4cac4c4c4c4caKac4caDuSaKaKaSaSaS4KaSaS4S4SaKaSaDuc4c4cacacaKac4c4cac4DuS4S4S4S4S4S4S4S4S4Ducac4c4c4c4c4caKacacaKaDuKaSaKaSaKaSaKaKaSaS4S4S4S4KaSaw
rrrl4K4Kw
rrw
rruulnau8DK
KcScu
wrl48494444SD44K44D4n44SD44K44D4l84KD484D9K4DD4449D444D9K444D44DDD44DDD44K4884444DD944SDD8

r8wt44ucD8
uK8Scnn wuKwK4uauK4luwKwKu4wcnn wuKwK4uauK4lwwKwKr8wa8uSu44DcDrnurwrwlKwlltuwaKcltwwwnSwrDrturwrwlKwlKatwtKwlulwtnnwnDltrrnuntKwlcnwtcDcrDKnlSKrllluwtwwwDltwannwn8na

เอาท์พุทเป็นคำพูด 28:

"Play it, Sam. Play 'As Time Goes By.'" - Ilsa Lund

ก่อนหน้านี้ต้องห้าม :

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

ตัวอักษรที่เหลืออยู่:

  • เบอร์: 4 8 9
  • ตัวพิมพ์ใหญ่: D K S
  • ตัวพิมพ์เล็ก: a c l n r t u w

รายละเอียดทางเทคนิคบางประการ:

  • linebreaks ทั้งหมดใช้สไตล์ unix (1 ไบต์ 0x0a)
  • ไม่มี linebreak ที่ท้ายไฟล์ (แม้ว่ามันจะไม่สำคัญก็ตาม)
  • มีแท็บ 3 ตัว
  • ขนาดไฟล์คือ 1260 ไบต์

เพื่อตรวจสอบรหัสนี้ฉันใช้เครื่องมือจำลองErsatz-11 หากต้องการรันโค้ดให้เขียนโค้ดลงในไฟล์test.pdpรันโปรแกรมจำลองและป้อน:

load test
go

ผลลัพธ์:

...
E11>load test
E11>go
"Play it, Sam. Play 'As Time Goes By.'" - Ilsa Lund

%HALT
...

รหัสที่มา (ตัวเลขทั้งหมดอยู่ในรูปแบบเลขฐานแปด):

clr 60562(r4)
;
com 60562(r2)
com 71162(pc) ; nop
;
add 60562(r1), 60564(r2) ; a = ffff b = ffff
add 60564(r1), 60562(r2) ; a = fffe b = ffff
add 60564(r1), 60562(r2) ; a = fffd b = ffff
add 60564(r1), 60562(r2) ; a = fffc b = ffff
add 60562(r1), 60564(r2) ; a = fffc b = fffb
add 60564(r1), 60562(r2) ; a = fff7 b = fffb
add 60562(r1), 60564(r2) ; a = fff7 b = fff2
add 60562(r1), 60564(r2) ; a = fff7 b = ffe9
add 60564(r1), 60562(r2) ; a = ffe0 b = ffe9
add 60562(r1), 60564(r2) ; a = ffe0 b = ffc9
add 60562(r1), 60564(r2) ; a = ffe0 b = ffa9
add 60564(r1), 60562(r2) ; a = ff89 b = ffa9
add 60562(r1), 60564(r2) ; a = ff89 b = ff32
add 60564(r1), 60562(r2) ; a = febb b = ff32
add 60562(r1), 60564(r2) ; a = febb b = fded
add 60564(r1), 60562(r2) ; a = fca8 b = fded
add 60562(r1), 60564(r2) ; a = fca8 b = fa95
add 60564(r1), 60562(r2) ; a = f73d b = fa95
add 60562(r1), 60564(r2) ; a = f73d b = f1d2
add 60564(r1), 60562(r2) ; a = e90f b = f1d2
add 60562(r1), 61464(r2) ; contains patch1
com 71162(pc)
add 60562(r1), 60564(r2) ; a = e90f b = dae1
add 60562(r1), 60564(r2) ; a = e90f b = c3f0
add 60564(r1), 60562(r2) ; a = acff b = c3f0
add 60562(r1), 60564(r2) ; a = acff b = 70ef
add 60562(r1), 60564(r2) ; a = acff b = 1dee
add 60562(r1), 60564(r2) ; a = acff b = caed
add 60564(r1), 60562(r2) ; a = 77ec b = caed
add 60564(r1), 60562(r2) ; a = 42d9 b = caed
add 60562(r1), 60564(r2) ; a = 42d9 b = 0dc6
add 60562(r1), 60564(r2) ; a = 42d9 b = 509f
add 60562(r1), 60564(r2) ; a = 42d9 b = 9378
add 60564(r1), 60562(r2) ; a = d651 b = 9378
add 60562(r1), 61470(r2) ; contains patch2
com 71162(pc)
add 60564(r1), 60562(r2) ; a = 69c9 b = 9378
add 60562(r1), 60564(r2) ; a = 69c9 b = fd41
add 60562(r1), 60564(r2) ; a = 69c9 b = 670a
add 60562(r1), 60564(r2) ; a = 69c9 b = d0d3
add 60564(r1), 60562(r2) ; a = 3a9c b = d0d3
add 60564(r1), 60562(r2) ; a = 0b6f b = d0d3
add 60564(r1), 60562(r2) ; a = dc42 b = d0d3
add 60562(r1), 60564(r2) ; a = dc42 b = ad15
add 60562(r1), 60564(r2) ; a = dc42 b = 8957
add 60564(r1), 60562(r2) ; a = 6599 b = 8957
add 60562(r1), 60564(r2) ; a = 6599 b = eef0
add 60562(r1), 60564(r2) ; a = 6599 b = 5489
add 60564(r1), 60562(r2) ; a = ba22 b = 5489
add 60564(r1), 60562(r2) ; a = 0eab b = 5489
add 60564(r1), 60562(r2) ; a = 6334 b = 5489
add 60562(r1), 60554(r2) ; contains addr of patch1
com 71162(pc)
add 60562(r1), 60564(r2) ; a = 6334 b = b7bd
add 60564(r1), 60562(r2) ; a = 1af1 b = b7bd
add 60562(r1), 60564(r2) ; a = 1af1 b = d2ae
add 60564(r1), 60562(r2) ; a = ed9f b = d2ae
add 60564(r1), 60562(r2) ; a = c04d b = d2ae
add 60562(r1), 60564(r2) ; a = c04d b = 92fb
add 60564(r1), 60562(r2) ; a = 5348 b = 92fb
add 60564(r1), 60562(r2) ; a = e643 b = 92fb
add 60562(r1), 60564(r2) ; a = e643 b = 793e
add 60564(r1), 60562(r2) ; a = 5f81 b = 793e
add 60562(r1), 60564(r2) ; a = 5f81 b = d8bf
add 60564(r1), 60562(r2) ; a = 3840 b = d8bf
add 60562(r1), 60564(r2) ; a = 3840 b = 10ff
add 60562(r1), 60564(r2) ; a = 3840 b = 493f
add 60564(r1), 60562(r2) ; a = 817f b = 493f
add 60562(r1), 60564(r2) ; a = 817f b = cabe
add 60564(r1), 60562(r2) ; a = 4c3d b = cabe
add 60562(r1), 60564(r2) ; a = 4c3d b = 16fb
add 60564(r1), 60562(r2) ; a = 6338 b = 16fb
add 60562(r1), 60556(r2) ; contains addr of patch2
com 71162(pc)
add 60564(r1), 60562(r2) ; a = 7a33 b = 16fb
add 60564(r1), 60562(r2) ; a = 912e b = 16fb
add 60564(r1), 60562(r2) ; a = a829 b = 16fb
add 60564(r1), 60562(r2) ; a = bf24 b = 16fb
add 60564(r1), 60562(r2) ; a = d61f b = 16fb
add 60564(r1), 60562(r2) ; a = ed1a b = 16fb
add 60562(r1), 60564(r2) ; a = ed1a b = 0415
add 60564(r1), 60562(r2) ; a = f12f b = 0415
add 60562(r1), 60564(r2) ; a = f12f b = f544
add 60562(r1), 60564(r2) ; a = f12f b = e673
add 60564(r1), 60562(r2) ; a = d7a2 b = e673
add 60562(r1), 60564(r2) ; a = d7a2 b = be15
add 60562(r1), 60564(r2) ; a = d7a2 b = 95b7
add 60564(r1), 60562(r2) ; a = 6d59 b = 95b7
add 60564(r1), 60562(r2) ; a = 0310 b = 95b7
add 60562(r1), 61562(r2) ; contains addr of cmd1
com 71162(pc)
add 60564(r1), 60562(r2) ; a = 98c7 b = 95b7
add 60564(r1), 60562(r2) ; a = 2e7e b = 95b7
add 60564(r1), 60562(r2) ; a = c435 b = 95b7
add 60564(r1), 60562(r2) ; a = 59ec b = 95b7
add 60562(r1), 60564(r2) ; a = 59ec b = efa3
add 60564(r1), 60562(r2) ; a = 498f b = efa3
add 60562(r1), 60564(r2) ; a = 498f b = 3932
add 60564(r1), 60562(r2) ; a = 82c1 b = 3932
add 60564(r1), 60562(r2) ; a = bbf3 b = 3932
add 60562(r1), 60564(r2) ; a = bbf3 b = f525
add 60562(r1), 60564(r2) ; a = bbf3 b = b118
add 60562(r1), 60564(r2) ; a = bbf3 b = 6d0b
add 60564(r1), 60562(r2) ; a = 28fe b = 6d0b
add 60564(r1), 60562(r2) ; a = 9609 b = 6d0b
add 60564(r1), 60562(r2) ; a = 0314 b = 6d0b
add 60562(r1), 61564(r2) ; contains addr of cmd2
com 71162(pc)
add 60562(r1), 60564(r2) ; a = 0314 b = 701f
add 60564(r1), 60562(r2) ; a = 7333 b = 701f
add 60564(r1), 60562(r2) ; a = e352 b = 701f
add 60564(r1), 60562(r2) ; a = 5371 b = 701f
add 60562(r1), 60564(r2) ; a = 5371 b = c390
add 60562(r1), 60564(r2) ; a = 5371 b = 1701
add 60564(r1), 60562(r2) ; a = 6a72 b = 1701
add 60562(r1), 60564(r2) ; a = 6a72 b = 8173
add 60564(r1), 60562(r2) ; a = ebe5 b = 8173
add 60564(r1), 60562(r2) ; a = 6d58 b = 8173
add 60562(r1), 60564(r2) ; a = 6d58 b = eecb
add 60562(r1), 60564(r2) ; a = 6d58 b = 5c23
add 60564(r1), 60562(r2) ; a = c97b b = 5c23
add 60562(r1), 60564(r2) ; a = c97b b = 259e
add 60564(r1), 60562(r2) ; a = ef19 b = 259e
add 60562(r1), 60564(r2) ; a = ef19 b = 14b7
add 60564(r1), 60562(r2) ; a = 03d0 b = 14b7
add 60562(r1), 32064(r2) ; contains value of r3
add @60554(r0), @61562(r1)
add @60556(r0), @61564(r1)
;
add 45464(r1), 45464(r2) ; nop
add (r5), r4
add (r5), r4
add (r5), r4
add (r5), r4
ash (r1), r4
;
; must be at address 0x310 (01420)
.word 32064 ; patch it with 0xe90f - it becomes...
            ; mov 32064(r5), r3
.word 32064
.word 32064 ; patch it with 0xd651 - it becomes...
            ; inc r5
;
; patch the patcher
;
ash r4, r5
bit (r1)+, (r3)+
bit (r1)+, (r3)+
bit (r1)+, (r3)+
add r5, (r3)+ ; [3] = 0x443c
bit (r1)+, (r3)+
bit (r1)+, (r3)+
bit (r1)+, (r3)+
bit (r1)+, (r3)+
add r5, (r3)+ ; [8] = 0x727b
ash r4, r5
bit (r1)+, -(r3)
add r5, -(r3) ; [7] = 0x0a85
bit (r1)+, -(r3)
bit (r1)+, -(r3)
bit (r1)+, -(r3)
bit (r1)+, -(r3)
add r5, -(r3) ; [2] = 0x7571
add r5, (r3) ; [2] = 0x7581
bit (r1)+, -(r3)
add r5, -(r3) ; [0] = 0x7585
ash r4, r5
add r5, (r3)+ ; [0] = 0x75c5
add r5, (r3) ; [1] = 0x6eac
add r5, (r3) ; [1] = 0x6eec
add r5, (r3)+ ; [1] = 0x6f2c
add r5, (r3)+ ; [2] = 0x75c1
bit (r1)+, (r3)+
add r5, (r3) ; [4] = 0x0a8b
add r5, (r3)+ ; [4] = 0x0acb
bit (r1)+, (r3)+
bit (r1)+, (r3)+
add r5, (r3)+ ; [7] = 0x0ac5
add r5, (r3) ; [8] = 0x72bb
add r5, (r3)+ ; [8] = 0x72fb
ash r4, r5
bit (r1)+, -(r3)
bit (r1)+, -(r3)
add r5, -(r3) ; [6] = 0x6453
add r5, -(r3) ; [5] = 0x644b
add r5, -(r3) ; [4] = 0x0bcb
add r5, (r3) ; [4] = 0x0ccb
bit (r1)+, -(r3)
bit (r1)+, -(r3)
add r5, -(r3) ; [1] = 0x702c
bit (r1)+, -(r3)
ash r4, r5
bit (r1)+, (r3)+
bit (r1)+, (r3)+
bit (r1)+, (r3)+
bit (r1)+, (r3)+
bit (r1)+, (r3)+
bit (r1)+, (r3)+
bit (r1)+, (r3)+
bit (r1)+, (r3)+
bit (r1)+, (r3)+
ash r4, r5
add r5, -(r3) ; [8] = 0x82fb
bit (r1)+, -(r3)
bit (r1)+, -(r3)
bit (r1)+, -(r3)
bit (r1)+, -(r3)
bit (r1)+, -(r3)
add r5, -(r3) ; [2] = 0x85c1
add r5, (r3) ; [2] = 0x95c1
add r5, -(r3) ; [1] = 0x802c
add r5, -(r3) ; [0] = 0x85c5
add r5, (r3) ; [0] = 0x95c5
ash r4, r5
add r5, (r3) ; [0] = 0xd5c5
add r5, (r3)+ ; [0] = 0x15c5
add r5, (r3) ; [1] = 0xc02c
add r5, (r3)+ ; [1] = 0x002c
add r5, (r3) ; [2] = 0xd5c1
add r5, (r3)+ ; [2] = 0x15c1
add r5, (r3) ; [3] = 0x843c
add r5, (r3) ; [3] = 0xc43c
add r5, (r3)+ ; [3] = 0x043c
bit (r1)+, (r3)+
bit (r1)+, (r3)+
bit (r1)+, (r3)+
bit (r1)+, (r3)+
add r5, (r3) ; [8] = 0xc2fb
add r5, (r3)+ ; [8] = 0x02fb
;
com 71162(pc)
add 45464(r1), 45464(r2) ; nop
com 71162(pc)
com 71162(pc)
;
; ------------------------
; must be at address 0x3d0 (01720)
.word 072565
.word 067154
.word 072541
.word 042070
.word 005113
.word 061513
.word 061523
.word 005165
.word 071167
; After patching, this code becomes...
; mov #51, r5
; mov #002074, r1
; patch_loop:
; asl (r3)
; add (r1)+, (r3)
; add (r1)+, (r3)+
; dec r5
; bne patch_loop
;
.byte 154, 064
.byte 070, 064
.byte 071, 064
.byte 064, 064
.byte 064, 123
.byte 104, 064
.byte 064, 113
.byte 064, 064
.byte 104, 064
.byte 156, 064
.byte 064, 123
.byte 104, 064
.byte 064, 113
.byte 064, 064
.byte 104, 064
.byte 154, 070
.byte 064, 113
.byte 104, 064
.byte 070, 064
.byte 104, 071
.byte 113, 064
.byte 104, 104
.byte 064, 064
.byte 064, 071
.byte 104, 064
.byte 064, 064
.byte 104, 071
.byte 113, 064
.byte 064, 064
.byte 104, 064
.byte 064, 104
.byte 104, 104
.byte 064, 064
.byte 104, 104
.byte 104, 064
.byte 064, 113
.byte 064, 070
.byte 070, 064
.byte 064, 064
.byte 064, 104
.byte 104, 071
.byte 064, 064
.byte 123, 104
.byte 104, 070
;
; After patching, this code becomes...
; mov #32, r1
; mov #002006, r0
;out_loop:
; tstb @#0177564
; bpl out_loop
; mov (r0),@#0177566
; swab (r0)
;out_wait:
; tstb @#0177564
; bpl out_wait
; mov (r0)+,@#0177566
; dec r1
; bpl out_loop
; halt
; "Play it, Sam. Play 'As Time Goes By.'" - Ilsa Lund
;
.byte 12, 12 ; linebreaks for "readability"
.byte 162, 070
.byte 167, 164
.byte 064, 064
.byte 165, 143
.byte 104, 070
.byte 012, 165
.byte 113, 070
.byte 123, 143
.byte 156, 156
.byte 011, 167
.byte 165, 113
.byte 167, 113
.byte 064, 165
.byte 141, 165
.byte 113, 064
.byte 154, 165
.byte 167, 113
.byte 167, 113
.byte 165, 064
.byte 167, 143
.byte 156, 156
.byte 011, 167
.byte 165, 113
.byte 167, 113
.byte 064, 165
.byte 141, 165
.byte 113, 064
.byte 154, 167
.byte 167, 113
.byte 167, 113
.byte 162, 070
.byte 167, 141
.byte 070, 165
.byte 123, 165
.byte 064, 064
.byte 104, 143
.byte 104, 162
.byte 156, 165
.byte 162, 167
.byte 162, 167
.byte 154, 113
.byte 167, 154
.byte 154, 164
.byte 165, 167
.byte 141, 113
.byte 143, 154
.byte 164, 167
.byte 167, 167
.byte 156, 123
.byte 167, 162
.byte 104, 162
.byte 164, 165
.byte 162, 167
.byte 162, 167
.byte 154, 113
.byte 167, 154
.byte 113, 141
.byte 164, 167
.byte 164, 113
.byte 167, 154
.byte 165, 154
.byte 167, 164
.byte 156, 156
.byte 167, 156
.byte 104, 154
.byte 164, 162
.byte 162, 156
.byte 165, 156
.byte 164, 113
.byte 167, 154
.byte 143, 156
.byte 167, 164
.byte 143, 104
.byte 143, 162
.byte 104, 113
.byte 156, 154
.byte 123, 113
.byte 162, 154
.byte 154, 154
.byte 165, 167
.byte 164, 167
.byte 167, 167
.byte 104, 154
.byte 164, 167
.byte 141, 156
.byte 156, 167
.byte 156, 070
.byte 156, 141

เป็นการง่ายกว่าที่จะอธิบายวิธีการทำงานตั้งแต่ต้นจนจบ ส่วนเอาต์พุตเป็นเช่นนี้ (แต่ละการวนซ้ำเอาต์พุต 2 ไบต์):

mov #32, r1
mov #002006, r0
out_loop:
 tstb @#0177564
 bpl out_loop
 mov (r0),@#0177566
 swab (r0)
out_wait:
 tstb @#0177564
 bpl out_wait
 mov (r0)+,@#0177566
 dec r1
 bpl out_loop
 halt
 ----- "Play it, Sam. Play 'As Time Goes By.'" - Ilsa Lund

รหัสนี้มีหลายไบต์ที่ต้องห้ามทั้งในรหัสและในข้อความที่ส่งออก ในการแก้ไขปัญหานั้นรหัสนั้นมีสัญญาณรบกวน: แต่ละคำ (16 บิต) จะแสดงเป็นผลรวมของตัวเลข 3 ตัว:

code = 2 * a + b + c

รหัสการปะ (unscrambling):

 mov #51, r5
 mov #002074, r1
patch_loop:
 asl (r3)
 add (r1)+, (r3)
 add (r1)+, (r3)+
 dec r5
 bne patch_loop

รหัสนี้มีไบต์ที่ต้องห้าม แต่จะสั้นกว่ามาก (9 คำ) patcher ที่ descrambles รหัสนี้ใช้ bytes ที่อนุญาตเท่านั้น (อยู่ภายใต้ความคิดเห็น "patch the patcher" ในแหล่งที่มา) ดังนั้นมันจึงมีชุดการดำเนินการที่ จำกัด มาก รหัสมาก

การใช้โปรแกรมแก้ไขนี้ไม่ตรงไปตรงมา หากต้องการแก้ไขข้อมูลจำนวนมากที่มีรหัสที่เรียบง่ายที่ฉันต้องการคำแนะนำเหมือนadd r5, (r3)+และadd r5, -(r3)- และลงทะเบียนเท่านั้นที่สามารถนำมาใช้เช่นนี้และr3 r5น่าเสียดายที่ไม่สามารถใช้คำสั่งที่อนุญาตเพื่อเริ่มต้นการลงทะเบียนเหล่านี้ได้ดังนั้นฉันต้องแก้ไขคำแนะนำที่ทำเช่นนั้น:

mov 32064(r5), r3
inc r5

จำเป็นต้องทำการปะ 2 คำเท่านั้น

ฉันได้ค้นหาเวลาพอสมควรในการหาวิธีแก้ไข วิธีเดียวที่ฉันใช้คือใช้โหมด "ทางอ้อม" ที่น่าอับอาย:

... (much preparation here)
add @60554(r0), @61562(r1)
add @60556(r0), @61564(r1)

ในการเรียกใช้คำแนะนำทั้งสองนี้จำเป็นต้องมีการเตรียมการเล็กน้อย:

  • เก็บค่าการแก้ไข ( patch1) ในหน่วยความจำ
  • เก็บตัวชี้ไปที่มาสก์การปะในหน่วยความจำ
  • เก็บตัวชี้ไปที่คำสั่งที่จะแก้ไขในหน่วยความจำ

ในการสร้างค่าคงที่เหล่านี้ทั้งหมดฉันใช้คำแนะนำต่อไปนี้:

add 60562(r1), 60564(r2) ; add a to b
add 60564(r1), 60562(r2) ; add b to a

พวกเขาใช้คำที่ระบุ 060562 และ 060564 เป็นตัวแปรชั่วคราว การจัดเรียงที่ถูกต้องของคำแนะนำทั้งสองนี้สามารถสร้างมูลค่าใด ๆ ใน 10-20 ขั้นตอน


คำแนะนำที่ใช้ในรหัสนี้ (ไม่รวมการแก้ไขใด ๆ ):

clr offset(rN)    - a no-op; its machine code is used to obtain the number 2
com offset(rN)    - used to obtain the number -1
add offset1(rN), offset2(rM) -  used for arithmetic
add @offset1(rN), @offset2(rM)
com offset(pc)    - a no-op (it actually writes junk to memory)
add (r5), r4      - one of a few "sane" instructions!
ash r4, r5        - another useful sane instruction
bit ...           - used for its only side effect - increment or decrement
add r5, (r3)+     }
add r5, (r3)      } By luck, all of these commands can be used!
add r5, -(r3)     }

10

7. 23ใช้หมายเลขl

KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
KKKKKKKKKKKKKKKKKK

ด้วยการป้อนบรรทัดต่อท้าย (ที่ต้องมี) มี 64 linefeeds ในรหัสนี้

ดำเนินการมันพิมพ์คำพูดที่สอง:

"I'm gonna make him an offer he can't refuse." - Vito Corleone

ขอบคุณ @ jimmy23013 ที่ชี้ให้ฉันเห็นความท้าทายนี้

การตรวจสอบ

เนื่องจากโค้ดด้านบนนี้ใช้งานได้ในล่ามออนไลน์จึงไม่ใช้ช่องว่าง ( บริสุทธิ์ 23 ), ไม่มีx s ( 23.ixsy ) และไม่มีจุลภาค ( 23.dezsy ) ฉันคิดว่ามันใช้ได้23.easy (ไม่มีเอกสาร) ซึ่งเพิ่งใช้สาย ความยาวเข้าบัญชี

รหัส (อ่านย้อนหลัง) เทียบเท่ากับรหัส23.dezsyต่อไปนี้:

17,62,34,73,39,109,32,103,111,110,110,97,32,109,97,107,101,32,104,105,109,32,97,110,32,111,102,102,101,114,32,104,101,32,99,97,110,39,116,32,114,101,102,117,115,101,46,34,32,45,32,86,105,116,111,32,67,111,114,108,101,111,110,101

17,62สั่งให้ล่ามในการพิมพ์จำนวนเต็ม62ที่ตามมาเป็นตัวละคร

ล่ามดูเหมือนจะต้องการอักขระหนึ่งตัวในแต่ละบรรทัดมากกว่าที่ควร ฉันคิดว่านี่คือการบัญชีสำหรับบรรทัดใหม่สไตล์ Windows ในการทำให้รหัสทำงานตามข้อกำหนด (หรือในเบราว์เซอร์ที่แนะนำการคืนสินค้า) ให้ลบออกKขึ้นบรรทัดใหม่จากแต่ละบรรทัด

ในการทดสอบรหัสที่วางไว้ในแหล่งพื้นที่กดEnterเพื่อแทรกเลื่อนบรรทัดต่อท้ายชนิด23ในคอนโซลพื้นที่ (จะเปลี่ยนจากการเริ่มต้น23.dezsyสัญกรณ์เพื่อการตรวจหาอัตโนมัติ) Run Interpreter!และคลิก


9

66 - Pyth ใช้หมายเลข e

DSGRjkmCdGJC96P:Sj4142h118J:Sj9927h112J:Sjt11641t112J:Sj11154t115J:SjxT14142t122J:Sj4128h125J:Sj11154t115J:Sj4128h125J:Sj11196t112J:Sjt14254t122J:Sj12195t112J:Sj12752t114J:Sj5248h111J:Sj4142h118J:Sj4128h125J:Sj5181h112J:Sj4128h125J:Sj9116t111J:Sj12528h111J:Sj14126h121J:Sj11154t115J:Sj4128h125J:Sj8566t111J:Sj12528h111J:Sj11976t111J:Sj11646t111J:Sj12416h111J:Sj11711t116JJ

เอาท์พุทเป็นคำพูด 62:

"What a dump." - Rosa Moline

ใช้ตัวละคร 12456789:CDGJPRSTdhjkmtxใช้ตัวอักษร

ก่อนหน้านี้ต้องห้าม: z" &'()*+,-./03;<=>@X[\]psy{

มันขึ้นอยู่กับชุดของการทดแทน regex - :ใน pyth แต่ละแทนที่ `อักขระ backtick ด้วยสตริงอักขระสองตัวที่มีอักขระใหม่ตามด้วย backtick

การแทนที่ทั้งหมดถูกนำไปใช้กับสตริงดั้งเดิมของ just `(J)

สตริงตัวอักษรสองตัวถูกสร้างขึ้นโดยใช้ฟังก์ชั่นการเปลี่ยนฐานjบนจำนวนและฐานเพื่อสร้างรายการของตัวเลขซึ่ง ASCII เข้ารหัสเป็นสตริงอักขระ 2 ตัวโดยSฟังก์ชันที่กำหนดใหม่

คำอธิบาย:

DSGRjkmCdG                 define S, which makes a string out of a list of ASCII numbers
JC96                       J = "`"
P                          print all but the last character of
:Sj4142h118J               "` <- `
:Sj9927h112J               W` <- `
:Sjt11641t112J             h` <- `
:Sj11154t115J              a` <- `
:SjxT14142t122J            t` <- `
:Sj4128h125J                ` <- `
:Sj11154t115J              a` <- `
:Sj4128h125J                ` <- `
:Sj11196t112J              d` <- `
:Sjt14254t122J             u` <- `
:Sj12195t112J              m` <- `
:Sj12752t114J              p` <- `
:Sj5248h111J               .` <- `
:Sj4142h118J               "` <- `
:Sj4128h125J                ` <- `
:Sj5181h112J               -` <- `
:Sj4128h125J                ` <- `
:Sj9116t111J               R` <- `
:Sj12528h111J              o` <- `
:Sj14126h121J              s` <- `
:Sj11154t115J              a` <- `
:Sj4128h125J                ` <- `
:Sj8566t111J               M` <- `
:Sj12528h111J              o` <- `
:Sj11976t111J              l` <- `
:Sj11646t111J              i` <- `
:Sj12416h111J              n` <- `
:Sj11711t116J              e` <- `
J                          Starting with `

คุณลืมการละเว้นzจาก 66 ในแผนภูมิของคุณ สิ่งนี้จะทำลายห่วงโซ่เนื่องจากรายการถัดไปอยู่บนหน้าสอง
archaephyrryx

9

60. Forth (ไม่ใช้^)

(มี 54 บรรทัดใหม่และ 51 แท็บ)

116 114 115
HEx
22  EMIT
41  EMIT
SPACE
62  EMIT
6F  EMIT
DECIMAL 121 EMIT
81  42  MOD EMIT
DUP EMIT
SPACE
98  EMIT
HEx 65  EMIT
DUP EMIT
2   PICK    EMIT
SPACE
66  EMIT
OVER    EMIT
69  EMIT
65  EMIT
6E  EMIT
64  EMIT
SPACE
69  EMIT
DUP EMIT
SPACE
68  EMIT
69  EMIT
DUP EMIT
SPACE
6D  EMIT
6F  EMIT
2   PICK    EMIT
68  EMIT
65  EMIT
OVER    EMIT
2E  EMIT
22  EMIT
SPACE
2D  EMIT
SPACE
4E  EMIT
6F  EMIT
OVER    EMIT
6D  EMIT
61  EMIT
6E  EMIT
SPACE
42  EMIT
61  EMIT
2   PICK    EMIT
65  EMIT
DUP EMIT
BYE

เอาท์พุทคือราคา 56:

"A boy's best friend is his mother." - Norman Bates

ก่อนหน้านี้ต้องห้าม :"'&()*+-,./\037;<=>@X_[sovy pez]{}


9

59. Applesoft BASIC ใช้หมายเลข ~

(ใช้ 11 บรรทัดใหม่)

1HOME:PRINT:PRINT:CALL2111:END
2REMWARNING!ABUSEOFLANGUAGEBELOW!!!!!!
4VTAB#PR#STOREONERREEEDELEIEIADELFPR#RETURNEDELGEGIENDDELHEHITANDELIDEFP!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
5VTABLPR#EGHGREGRVTABLPR#EGHGREGRVTABAPR#EGHGREGRVTABHPR#EHHGREGRGRDEFP!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
6VTABEPR#EGHGREGRVTABIPR#EGHGREGRVTABNPR#EGHGREGRVTABNPR#EGHGREGRDEFP!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
8VTABAPR#EHHGREGRGRVTABMPR#EIHGREGRGRVTABBPR#EIHGREGRVTABNPR#EIHGREGRDEFP!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
9VTABAPR#EGHGREGRVTABDPR#EGHGREGRVTABMPR#EIHGREGRVTABEPR#EGHGREGRDEFP!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
11VTABEPR#EGHGREGRVTABDPR#EGHGREGRVTABMPR#EIHGREGRVTABAPR#EGHGREGRDEFP!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
12VTABLPR#EGHGREGRGRVTABLPR#EIHGREGRVTABAPR#EGHGREGRVTABDPR#EGHGREGRDEFP!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
14VTABMPR#EIHGREGRVTABEPR#EGHGREGRVTABEPR#EGHGREGRVTABDPR#EGHGREGRDEFP!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
15VTABMPR#EIHGREGRVTABAPR#EGHGREGRVTABLPR#EHHGREGRVTABBPR#EIHGRE`

เอาท์พุทเป็นคำพูด 55:

"La-dee-da, la-dee-da." - Annie Hall

ก่อนหน้านี้ต้องห้าม: "'&()*+-,./\037;<=>@X_[sovy pez]^{}

ทำงานบน Apple // e (หรืออีมูเลเตอร์)

คำอธิบายสั้น ๆ : หลังจากล้างหน้าจอ "CALL 2111" จะกระโดดไปที่รหัสเครื่อง 6502 ในบรรทัดที่ 4-15 ซึ่งจะเขียนอักขระแต่ละตัวลงในหน้าข้อความโดยตรง

รายละเอียด:

  • บรรทัดที่ 1: ล้างหน้าจอพิมพ์บรรทัดใหม่ 2 บรรทัดเพื่อให้พรอมต์คำสั่งไม่เขียนทับคำพูดเรียกรหัสเครื่องฝังที่เริ่มต้นที่บรรทัดที่ 4 และออก
  • บรรทัดที่ 2: โดยปกติแล้วโปรแกรมของ Applesoft จะถูกจัดเก็บเริ่มต้นจากที่อยู่ 0x0801 (2049) แต่ฉันต้องเพิ่มการเติมที่นี่เพื่อให้รหัสเครื่องฝังตัวเริ่มต้นที่ 0x83F (2111) เนื่องจาก '0' เป็นอักขระต้องห้าม
  • บรรทัดที่ 4-15: รหัสเครื่องสามารถประกอบด้วยได้เฉพาะไบต์ที่สามารถพิมพ์ ASCII ได้ Tokenizer จะแปลงคำที่สงวนไว้เป็นไบต์เดียวที่เข้ารหัสด้วยชุด MSB (เช่น "VTAB" = 0xA2) แต่จะแปลงตัวพิมพ์เล็กเป็นส่วนบน

ถอดชิ้นส่วน:

; Body of line 4: set up zero-page constants and index
; Y = offset from start of text page to current character
; Quote drawn right-to-left; start at offset 35 (0x23)
083F-   A2 23       LDX   #$23
0841-   8A          TXA   
0842-   A8          TAY
; Z-page 0x45-0x46 points to start of text page (0x0400)
0843-   A5 45       LDA   $45
0845-   45 45       EOR   $45
0847-   85 45       STA   $45
0849-   49 45       EOR   #$45
084B-   49 41       EOR   #$41
084D-   85 46       STA   $46
; This TXA effectively a no-op to prevent incorrect tokenization
; ("FRETURN" would get tokenized as "FRE TURN", not the desired "F RETURN")
084F-   8A          TXA   
; All characters stored as uppercase ASCII. To display correctly, MSB
; must be set, so uppercase is XORed with 0x80. To transform to lowercase,
; XOR with 0xA0; To transform to symbol, XOR with 0xE0.
;
; Store constant 0xA0 at memory 0x47 (loading A from somewhere on text
; page which had just been cleared to all 0xA0)
0850-   B1 45       LDA   ($45),Y
0852-   85 47       STA   $47
; Store constant 0x80 at memory 0x48
0854-   45 47       EOR   $47
0856-   49 80       EOR   #$80
0858-   85 48       STA   $48
; Store constant 0xE0 at memory 0x49
085A-   45 48       EOR   $48
085C-   49 E0       EOR   #$E0
085E-   85 49       STA   $49
; Embedded code too big to fit on one line (~255 char input limit) so must
; jump to body of next line. But smallest offset that can be encoded is
; 0x21 (ASCII '!') so do that and pad out rest of line with more '!'
0860-   B8          CLV   
0861-   50 21       BVC   $0884

; Body of line 5: draw last 4 characters (right-to-left)
; A = 0x4C (ASCII 'L')
0884-   A2 4C       LDX   #$4C
0886-   8A          TXA
; XOR with constant 0xA0 stored at 0x47, which shows up as 'l'   
0887-   45 47       EOR   $47
; Write to text page (0x400 + 0x23)
0889-   91 45       STA   ($45),Y
; Move 1 char to the left
088B-   88          DEY   
; Next char'l', same process (could optimize here)
088C-   A2 4C       LDX   #$4C
088E-   8A          TXA   
088F-   45 47       EOR   $47
0891-   91 45       STA   ($45),Y
0893-   88          DEY   
; Next char 'a'
0894-   A2 41       LDX   #$41
0896-   8A          TXA   
0897-   45 47       EOR   $47
0899-   91 45       STA   ($45),Y
089B-   88          DEY  
; Next char 'H' 
089C-   A2 48       LDX   #$48
089E-   8A          TXA   
089F-   45 48       EOR   $48
08A1-   91 45       STA   ($45),Y
08A3-   88          DEY   
; Decrement index an extra time since next char is a space
08A4-   88          DEY   
; Jump to body of next line after padding
08A5-   B8          CLV   
08A6-   50 21       BVC   $08C9

; ... Lines 6-14 similar ...

; Body of line 15
; '-'
0A64-   A2 4D       LDX   #$4D
0A66-   8A          TXA   
0A67-   45 49       EOR   $49
0A69-   91 45       STA   ($45),Y
0A6B-   88          DEY   
; 'a'
0A6C-   A2 41       LDX   #$41
0A6E-   8A          TXA   
0A6F-   45 47       EOR   $47
0A71-   91 45       STA   ($45),Y
0A73-   88          DEY   
; 'L'
0A74-   A2 4C       LDX   #$4C
0A76-   8A          TXA   
0A77-   45 48       EOR   $48
0A79-   91 45       STA   ($45),Y
0A7B-   88          DEY   
; '"'
0A7C-   A2 42       LDX   #$42
0A7E-   8A          TXA   
0A7F-   45 49       EOR   $49
0A81-   91 45       STA   ($45),Y
; Return from CALL
0A83-   60          RTS   

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

  • วลีถูกวาดจากขวาไปซ้ายเนื่องจากการลด Y นั้นง่ายต่อการเข้ารหัสที่เพิ่มขึ้น Y
  • มีลำดับ "LDX imm; TXA" มากมายเนื่องจาก opcode สำหรับ "LDA imm" (0xA9) จับคู่กับคำสงวน "COLOR =" ซึ่งมีอักขระ char '=' ที่ผิดกฎหมาย

8

41. ADJUST (ไม่ใช้L)

(ต้องไม่มีบรรทัดใหม่ต่อท้าย)

````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````K`8``8``F``RK``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````n```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````K`F`````8````F````F```RF``K````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````K`F``RF```8````F````RK```````````````````````````````````````````````````````K`RF``````F`````F````RF```F``RK```````````````A```````````````K`AF``RF`RF``8```K```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````n``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````n````````````````````````````````````````````````````````````````````````````n```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````
````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````K`AF````F```8``RF``RK```````````````````````````````````````````````````````````K`RF`````F````F```RF``F`FK```````````````````A````````````````````````K`A8``F``F```RF````RK```````````````````````````````A`````````````````````````````````K`AtF``8```tK````````````````````````````````````K`AF````tF```8````RK``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````K`````````````````````````````````````````````````````````````````````````````````````````````````````````````n```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````n````````````````````````````````````````````````````K`AtF``F```F````RF`````RK```````````````````````````````A````````````````````````````K`AF``F`F``8```tK````````````````````````````````````````````````K`A8``````F``````F`````8````K`````````````````````````````````````````````````````````````````````````````````````````````````````````K`ARF`````tF``````RF`````RK``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````n`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````
``````````````````````````````````````````````````````````K`RF```F``RF```RF````RK````````````````````````````````````````````````````````````````````````````````````````A``````````````````````````````````````````````````````````````````````````````K`AF`````tF``````F`````8````K`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````K`ARF`````8````RF````RK``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````K`F``F```F````8`````F`````RK````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````
`````````````````````````````````````````````````````````n````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````n```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````C
````````````K`RF`F``8```RF```K``````````````````````````A`````````````````````````K`AF````tF`````tF``````RK`````````````````````````````K`F`````RF``````tF```````tK``````K````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````K`AF````F```RF````tF```RK```````````````````````````````````````````````````K`8```F```RF````RF```K``````````````````````````````````K`tF```8``F``RK```````````````````````````K`F````8```RF```F``RK````````````````````````````A``````````````````````````````K`AF```8````tF````RK```````````````````````````````````````````````````K`F``F```F````F`````8``````RK`````````````````````````````````````````````````````````K`8``````F``````RF`````tK```````````A`
```````````n```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````n`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````n```````````````````````````````````````````````````````n`````````````````````````````````````````n``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````n`````````````````````````````````````````````````````````````````````````````````````n``````````````````````````````````````
``````````A````````````````````K`A8```F```tF````F`````K`````````````````````````````````````````````````````K`A8````F````tF```RK``````n`````````````````````````````K`AK````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````K`ARF`````8````8````K```````````````````````````A````````````````````````K`AF`````F````8```RF```RK``````n`````````````````K`ARF``8```RF```RK``````n```````````````````````K`AF``F`F``F```8````F````K`````````````````````````````````````````````````````K`ARF````F```8``F``RK```````````````````````````A```````````````````````````````K`ARF`````tF````8`````K```````````````````````````````A```````````````````````````K`Ai````````
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````
K`8F8`F`K````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````K`AK`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````K`AF```F````8`````8`````K````````````````````````````````````````````````````K`AK``````````````````````````````````````K`AK``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````K`AF``F`F``8```F```F````K`````````````````````````````````````````````````````````K`A8``````F``````F`````8````K`````````````````````````````````````````

เอาท์พุทคือราคา 50:

"Houston, we have a problem." - Jim Lovell

ก่อนหน้านี้ต้องห้าม :"#$&'()*+,-./01357:;<=>@[\]^_ BdeEghJNopQksvWxXyz{|}~

ตัวอักษรที่เหลืออยู่:

  • สัญลักษณ์: ! % ? `
  • เบอร์: 2 46 89
  • ตัวพิมพ์ใหญ่: A CD FGHI K M OP RSTUV YZ
  • ตัวพิมพ์เล็ก: abc f ij lmn qr tu w

ADJUST เป็นภาษา 2D ที่มี 1 register และ 2 stack ตัวชี้รหัสเริ่มต้นจากมุมซ้ายล่างจากนั้นเดินไปในทิศทางตะวันออกเฉียงเหนือ คำแนะนำจะขึ้นอยู่กับการแยกตัวประกอบเฉพาะของรหัสอักขระปัจจุบันเช่นZ= 90 = 5 × 3 × 3 × 2 ดังนั้นตัวละครZจะดำเนินการ "5" หนึ่งครั้ง, "3" สองครั้งจากนั้น "2" หนึ่งครั้ง สิ่งนี้ทำให้เรามีหลายวิธีในการทำหน้าที่เดียวและหลีกเลี่ยงตัวอักษรต้องห้าม

แนวคิดพื้นฐานของโปรแกรมคือ:

  1. ทำพอ "5" (พลิกบิตสุดท้าย) และ "2" (หมุนไปทางขวา 3 บิต) เพื่อให้ตัวสะสมมีรหัส ASCII ที่ถูกต้องในการพิมพ์
  2. ดำเนินการ "3" (กดไปที่กองไฟแช็กและทำเทิร์นที่ซับซ้อน) จนกว่ากองซ้อน # 2 จะมีตัวสะสม
  3. ดำเนินการ "13" (ป๊อปสแต็ค 2 และพิมพ์) เพื่อพิมพ์รหัสนั้น
  4. เพราะ "3" จะทำให้ตัวชี้รหัสในลักษณะที่ซับซ้อนบางอย่างถ้าเราไม่ก้าวไปข้างหน้าในแนวนอนเราจะทำลายขีด จำกัด 64 บรรทัดใหม่ได้อย่างง่ายดาย ดังนั้นเราต้องทำมากกว่า "3" จนกว่าทิศทางจะถูกต้อง

ในขั้นตอนที่ 1 เราจะใช้ตัวอักษรเหล่านี้เพื่อให้ 2 และ 5 ของ:

  • F (7 × 5 × 2)
  • R (41 × 2)
  • t (29 × 2 × 2)
  • 8 (7 × 2 × 2 × 2)

มี 7, 29, 41 แต่สิ่งเหล่านี้จะไม่ส่งผลต่อผลลัพธ์สุดท้าย ในขั้นตอนที่ 2 เราจะใช้K(5 × 5 × 3) เพื่อให้ "3" โปรดทราบว่าคู่ของ "5" ไม่มีการใช้งาน

ในขั้นตอนที่ 3 เราเลือกA(13 × 5) ในขั้นตอนที่ 4 เราจะใช้n(11 × 5 × 2) เพื่อควบคุมขนาดกองซ้อนและKเพื่อปรับทิศทาง

โดยทั่วไปหากขั้นตอนที่ 1 ไม่มีสิ่งใด ๆRเราใช้KAnKพิมพ์อักขระและเลื่อนขึ้น 4 บรรทัด มิฉะนั้นเราจะใช้KKAในการพิมพ์และเลื่อนลง 2 บรรทัด ในบางครั้งยังมี a KnnKเพื่อเลื่อนขึ้นอย่างแรงโดย 4 บรรทัดเนื่องจากจุดเริ่มต้นจะต้องอยู่ที่มุมซ้ายล่าง

หากใครสนใจนี่คือสภาพแวดล้อมการทำงานในการสร้างรหัสด้านบน ไม่มีตัวสร้างอัตโนมัติ


8

23. Glyphoไม่มีการใช้%

2248242424422424244224242442242424422248244224242442244422482424244224242442242424422248244224242442242424422424244222482442244422482424244224242442242424422424244224242442244422482424244222482442242424422248244224242442242424422248244224242442224824422424244222482442244422482424244222482442242424422424244224242442242424422424244222482442244422482424244222482442242424422424244222482442242424422248244224242442224824422424244224442248242424422248244224242442224824422424244224242442224824422424244224242442244422482424244224242442242424422424244224242442244422482424244222482442242424422248244224242442242424422248244224242442242424422444224824242442224824422424244224242442224824422424244222482442242424422248244224242442224824422444224824242442242424422424244224242442242424422444224824242442224824422424244224242442242424422424244222482442242424422444224824242442224824422424244224242442242424422248244224242442242424422248244224442248242424422424244224242442242424422424244224442248242424422248244224242442242424422424244224242442242424422248244224442248242424422248244224242442242424422248244224242442224824422424244224242442244422482424244222482442242424422424244222482442242424422248244224242442224824422424244222482442244422482424244222482442242424422424244222482442242424422248244224242442224824422424244224442248242424422248244224242442242424422424244222482442242424422424244222482442244422482424244224242442224824422424244222482442242424422248244224242442244422482424244224242442242424422424244222482442242424422444224824242442242424422424244224242442242424422444224824242442242424422248244224242442224824422424244224242442224824422444224824242442242424422424244224242442242424422444224824242442242424422424244224242442224824422424244222482442242424422248244224442248242424422248244224242442224824422424244224242442242424422248244224242442244422482424244222482442242424422248244224242442242424422248244224242442242424422248244224442248242424422248244224242442224824422424244224242442242424422248244224242442224824422444224824242442224824422424244224242442224824422424244224242442242424422248244224442248242424422248244224242442242424422248244224242442224824422424244222482442242424422444224824242442224824422424244222482442242424422424244224242442224824422424244222482442244422482424244222482442242424422424244222482442242424422424244222482442242424422248244224442248242424422248244224242442242424422424244224242442242424422248244224442248242424422248244224242442224824422424244222482442242424422424244224242442224824422444224824242442224824422424244224242442242424422424244224242442224824422444

เอาท์พุทคือใบเสนอราคา 30:

"I want to be alone." - Grusinskaya

ก่อนหน้านี้ต้องห้าม :!"#$&'()*+,-./013567:;<=>@[\]^_` AbBCdeEFghIjJkLMNopqQRsTUvVWxXyYzZ{|}~

ตัวอักษรที่เหลืออยู่:

  • สัญลักษณ์: ?
  • เบอร์: 2 4 89
  • ตัวพิมพ์ใหญ่: D GH K OP S
  • ตัวพิมพ์เล็ก: a c f i lmn r tu w

โปรดทราบว่านี้ทำงานร่วมกับล่าม Javaแต่ที่ไม่เห็นด้วยกับหน้า esolangs ในการเข้ารหัสของและ[ +อย่างไรก็ตามการออกแบบของ Glypho เป็นเช่นนั้นชุดคำสั่งแบบเต็มสามารถใช้ได้ตราบใดที่คุณมีตัวละครสี่ตัวที่แตกต่างกันและทุกอย่างนอกเหนือจากลูปจะมีให้ถ้าคุณมีสามตัวดังนั้นนี่จึงเป็นรายละเอียดเล็กน้อย

ก่อนหน้านี้ฉันเลือกคำพูดที่ฉันชอบจากภาพยนตร์ที่ฉันได้เห็นจริง ๆ แต่ดูเหมือนว่าฉันจะมองข้ามกฏ :(


3
มีโมดูลัสชั้นเชิงที่ทุกคนชื่นชอบ: P
Sp3000

1
คุณไม่สามารถใช้ใบเสนอราคา 6: มีกฎนั้น "หมายเลขใบเสนอราคาที่คุณเลือกจะต้องไม่ต่ำกว่า 5 หมายเลขคำตอบของคุณ"
Anatolyg

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