ASCII 95 자… 95 영화 인용구


119

업데이트 : 승자가 결정되었지만 도전은 끝나지 않았습니다!

마지막으로, 질문이 처음 시작된 지 거의 3 개월이 지난 지금 누군가가 일주일 이상 마지막 응답자로 남아있었습니다! 그의 P1eq 답변 으로 jimmy23013 을 축하합니다 !

그러나 여전히 8 자 남음 : 48KSaclw. 정말 야심 찬 사람이라면 계속해서 시도해 볼 수 있습니다.

참여한 모든 사람, 특히 여러 답변, 특히 KennyTM 가 무려 25 개의 답변으로 오랫동안 콘테스트를 계속 해주신 분들께 감사드립니다 !!

또한 답변 목록을 최신 상태로 유지 한 사람 덕분에 큰 도움이되었습니다 :) (특히 SE에서 몇 달 동안 떨어져 있기 때문에 : P).


원래 질문 :

2005 년 American Film Institute미국 영화 에서 가장 많이 인용 된 목록 인 AFI의 100 년 ... 100 개의 영화 시세를 제작했습니다 . 여기에이 과제에 사용해야하는대로 정확하게 나열됩니다.

(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

(사용 된대로 따옴표를 자유롭게 표시하십시오.)

95 개의 인쇄 가능한 ASCII 문자 (16 진 코드 20-7E)가 ​​있으며 100에 가깝습니다

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

이 과제에서 사용자는 매번 새로운 프로그래밍 언어와 인쇄 가능한 ASCII의 작은 하위 세트를 사용하여 영화 인용문 중 하나를 인쇄하는 프로그램을 작성합니다.

작동 원리

나는 첫 번째 답변을 이미 제출 했으며 내 프로그램에서 95 개의 인쇄 가능한 ASCII 문자를 모두 사용할 수 있기 때문에 95로 표시했습니다. 100 번째 인용 부호 "I'm the king of the world!" - Jack Dawson를 stdout에 출력하는 Python 프로그램입니다 .

두 번째로 답할 사람은 새 인용문, 새로운 프로그래밍 언어 및 코드에서 제외 할 인쇄 가능한 95 자 ASCII 문자 중 하나를 선택해야합니다. 선택한 문자를 stdout에 인쇄하는이 문자를 사용하지 않고 프로그램을 작성해야합니다. 94 개의 인쇄 가능한 ASCII 문자가 있기 때문에 답을 94로 표시해야합니다 (카운트 다운처럼 생각).

세 번째 답변자는 이전 답변에 사용되지 않은 따옴표와 언어 (이 경우 95와 94 만)와 새 문자를 선택해야합니다. 코드에서이 문자 나 이전에 금지 된 문자를 사용해서는 안됩니다. 그들은 답을 93으로 표시합니다.

이 응답 프로세스는 인쇄 가능한 모든 ASCII 문자가 금지되고 누군가가 "1"답변을 제공 할 때까지, 또는 아무도 다시 응답하는 방법을 알 수 없을 때까지 이와 같이 계속됩니다.

규칙 (주의 깊게 읽으십시오)

한 번에 한 사람 만 답변 할 수 있으며 각 답변은 그 전의 답변에 달려 있음을 이해하는 것이 중요 합니다. 숫자, 인용 부호 또는 프로그래밍 언어가 동일한 두 가지 대답이 없어야합니다.

동시에 제출되는 충돌 답변이있을 것입니다. 그런 경우 나중에 기술적으로 답변 한 사람이 게시물을 신속하게 삭제하거나 (10 분 이하) 다음 답변이되도록 게시물을 수정해야합니다. 그렇지 않으면, 정말로 필요한 경우가 아니면 코드를 편집하지 마십시오 . 서식 만 수정하도록 게시물을 수정하는 것이 좋습니다.

특정 규칙

  • 방금 응답 한 사용자는 1 시간 이상 기다렸다가 다시 응답해야합니다.
  • 사용자는 연속으로 두 번 대답 할 수 없습니다.
  • 선택한 견적 번호는 답변 번호 아래 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>태그는 역 따옴표와 함께 (대체 할 수있는 `한 어떤 역 따옴표 그들 내에서 발생하지 않기 때문에)입니다.

채점

이 도전의 공동 목표는 가능한 한 오랫동안 답변을 유지하는 것입니다.

공식 승자는 추가 답변없이 일주일 후에 마지막으로 답변 한 사용자입니다. 나는 그들의 마지막 대답을 받아 들일 것입니다.

답변 목록 (최초 순)

  1. 4 프로그레시브 단항
  2. a 부에
  3. c 우다 게
  4. S 1L_a105
  5. w Binaryfuck
  6. K 서브 스킨
  7. l 23

  1. n P1eq
  2. t Addleq
  3. 9 x86 기계 코드
  4. r BSM
  5. D ShaFuck 0.2
  6. u 빌 마크
  7. O PDP-11 기계 코드
  8. f ProgFk
  9. i 숫자 키패드
  10. H 트라이
  11. 2 페르난도
  12. P 뾰족한
  13. m 서브 레크
  14. G FlogScript
  15. ? Nqubl
  16. % 글 리포
  17. ! 3var
  18. q ETA
  19. j 브레인 스페이스 1.0
  20. V 잠 잘 수 없음
  21. ` asdf
  22. 6 게으른 K
  23. C 파이! 배치 1.5
  24. T 젠장
  25. F 포고
  26. R 골 루나 르
  27. b 6502 기계 코드 + Apple II 시스템 모니터
  28. Y 머리띠
  29. I BRB
  30. U 뇌 충돌
  31. Z 황홀한
  32. M 농장
  33. A 관장
  34. L 맞추다
  35. $ 비트 닉
  36. N 레브 무
  37. g 두개
  38. B 감마 플렉스
  39. J Fuck4
  40. 5 A0A0
  41. W gs2
  42. : l33t
  43. h 토노 코
  44. E 말 볼지
  45. k D1ffe7e45e
  46. 1
  47. Q 지팡이 코드
  48. d 잔디
  49. # URSL
  50. | 익살 연극
  51. x 에멘탈
  52. ~ 애플 소프트 베이직
  53. ^ 앞으로
  54. 7 80386 머신 코드 + DOS
  55. _ 아아!
  56. v 렉스
  57. } 알파 베타
  58. o 슈퍼 스택!
  59. e 피스
  60. z 일반 TeX
  61. > WASD
  62. ] POSIX 쉘
  63. & 헛소리
  64. / GolfScript
  65. * x86_64 어셈블리
  66. 0 애플 스크립트
  67. X 데드 피쉬 ~
  68. , 숟가락
  69. - 우 코드
  70. = 제이
  71. @ 매스 매 티카
  72. .
  73. + DNA #
  74. < 파이
  75. ) 추신
  76. [ 알파벳
  77. s dc
  78. { HTML
  79. ( 단항
  80. ; 알았어!
  81. ' CJam
  82.   PHP
  83. " Brainfuck
  84. \ 놀라운
  85. 3 C ++
  86. y 루비
  87. p 자바 스크립트
  88.      파이썬

(잘못된 또는 오래된 경우 자유롭게 편집하십시오)

이 질문은 "가장 오래된 것"으로 정렬 할 때 가장 잘 작동합니다.

참고 : 마지막 질문 과 마찬가지로 , 이것은 각 답변이 마지막에 의존하고 난이도가 증가하는 새로운 도전 유형의 테스트입니다. 채팅 이나 메타 로 와서 질문이나 아이디어를 토론하십시오.


얼마나 이상합니다. 누구나 # 2를하는 방법을 알고 있지만, 아무도하고 싶지 않습니다 (주로 # 1이 불가능 해지기 때문에). 이 챌린지를 재부팅 한 경우 완료 될 수 있습니다.
CalculatorFeline

난 이걸 할거야!
Christopher

@CalculatorFeline 2는 어떻게하나요?
Christopher

당신이 # 1을하는 것과 같은 방법. 언어. 물론, 그것은 도전을 죽일 것입니다.
CalculatorFeline

@CalculatorFelen Lenguage표준 허점 인 이 도전을 위해 만들어졌습니다 . (첫 번째 줄의 링크를 참조하십시오.)
jimmy23013

답변:


19

8. P1eq (아니오 사용 n)

Addleq 답변과 마찬가지로 Windows가 아닌 64 비트 플랫폼이 올바르게 작동해야합니다. -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로 직접 주소 지정할 수 있습니다. 그 중 일부를 재사용해야합니다. 또한 초기화되지 않은 변수 사용과 같이 원하는 순서대로 작동하지 않은 작업도있었습니다. 그러나 루프의 처음에 반환 된 것을 버리고 그 후에 초기화 할 수 있습니다.


일부 다른 언어는 흥미롭지 만 더 이상 사용할 수없는 것으로 나타났습니다.

  • 더 많은 단항 변형
  • 숫자를 사용하는 언어
    • NULL 나는 홀수없이 작동해야한다고 생각했습니다. 불행히도 그렇지 않습니다.
    • 스미스#

이제 3 개의 언어가 남아 있습니다.

더 많은 답변을 작성하려는 사람은 다음을 찾아보십시오.

  • 실제 머신 코드 (파일 헤더가 필요없는 형식이 있고 텍스트 입력 / 출력 명령이있는 경우)
  • 숫자 기반 OISC.
  • 몇 가지 이유로 단일 문자 명령이 발생하는 비 종교적 언어. 아마도 APL 가족 일 것입니다.
  • 자체 수정 이진 코드.
  • 언어의 모양에 대한 일부 아이디어를 위해 설계된 언어입니다.
  • esolangs 위키에없는 언어이며 영어 설명이 없으므로 다른 사용자에게 거의 알려지지 않았습니다.

정확히 말하면, 나는 가지고 있었다 :

  • 자체 추출 코드를 사용하여 따옴표를 인쇄 할 수있는 16 진수 언어입니다.
  • 두 개의 다른 문자 (줄 바꿈 제외)와 함께 작동하는 2D 언어입니다.
  • 줄 길이를 지침으로 사용할 수있는 문서화되지 않은 언어입니다.

1
와우 나는 P1Eq가 64 줄에서 불가능하다고 생각했습니다. +1. "언어"를 제외하고 답변 # 3에 1 개의 언어가 남아 있습니다. "Wunnel"은 응답 # 2의 완벽한 후보 였지만 비트 대신 리터럴 0과 1을 인쇄합니다. 완전히 낭비되었습니다.
kennytm

1
@KennyTM 아직 답변 # 2를 테스트하지 않았습니다. 그리고 누군가 # 2 답변을 게시 한 후 내 답변 # 1 언어로 인쇄 가능한 견적이 없을 것입니다. 이제 위키 이외의 언어에 대한 다른 소스를 찾고 있지만 작동하는 것을 찾지 못했습니다.
jimmy23013

1
@ KennyTM 나는 대답 # 1 언어로 문자열을 인쇄하는 다른 방법을 찾았습니다. 실제로 기본 예제가 작동하는 방식이지만 문서화되지 않은 언어를 배우기 위해 소스를 읽기에는 너무 게으르다.
jimmy23013

1
나는 한동안 SE에서 벗어 났지만 내가 잘못 생각하지 않는 한이 대답은 이겼습니다! 이것은 12 월 17 일에 게시되었으며 몇 주가 지났습니다. 잘 했어!
Calvin 's Hobbies

126

90. Brainfuck, 아니 사용 "

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

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

출력은 인용 90입니다.

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

이전에 금지 된 사항 : py3\

누군가 .+-가 금지 되기 전에 누군가가 그것을해야했습니다 .
여기에서보십시오 : http://ideone.com/dlu8VE


28
굉장히 아름답다.
Flonk

13
왜 제거 "하시겠습니까? 그것은 당신을 따르는 모든 사람들에게 의미가 있습니다.
피터 올슨 1

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
방금 코드가 두 열에 "It 's alive"로 표시되도록 형식이 지정되었습니다. 댕, 이거 대단해. 이것은 현상금의 가치가 있으므로 하나를 올려 드리겠습니다.
Ingo Bürk

3
@gone_native 그렇다면 세부 정보? 어떻게 했어?
Pureferret

37

10. x86 기계 코드 9

나머지 문자에 'Dec BX'및 'Push BX'에 대한 opcode가 포함되어 있음을 알았을 때 x86 프로그램이 여전히 가능하다는 결론을 내 렸습니다.

코드 및 .com 파일에 대한 링크

코드는 훨씬 더 긴 버전으로 보입니다.

44444444444444444444444444444444444444444444444444444444444444444444444444444444444
44444444444444444444444444444444444444444444444444444444444444444444444444444444444
44444444444444444444444444444444444444444444444444484444444444444444444444444444444
444444444444444444444444444444444444444444444444444444444444444444444444444444444444
44444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444
444444444844444444444444444444444444444444448KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
KKKKKKKKKKKKKKKKKKKKSSSSSSSSaKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKSKKKKKKKKKKK
KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKSKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
KKKKKKKKKKKKKKKKKKKKKKKKKKSKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
KKKKKKKKKKKKKKKKKKKKSSSSSSSSSSSSSSSSSSSSSSSSSSSSKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK

압축 bzip2및 기본 64 인코딩 코드는 다음과 같습니다.

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

결과는 인용문 18입니다.

"Made it, Ma! 세계 최고!" -Arthur "Cody"Jarrett

이전에 금지 :

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

남은 캐릭터 :

  • 번호: 4 8
  • 대문자 : K S
  • 소문자 : a c l n t w

자체 수정 코드를 작성하는 자체 수정 코드입니다. 작동 방식은 다음과 같습니다.

텍스트는 먼저 '8'로 끝나는 '4'의 실행을 입력하여 인코딩되며,이 프로그램은 효과적으로 NOP 인 명령에 매핑됩니다. 다음으로 BX는 인쇄 코드가 스택에서 끝나는 위치 값을 가질 때까지 감소됩니다 ( 'K'). 이를 8 번 ( 'S') 누른 다음 나중에 팝과 'a'를 실행하여 SI와 DI를 설정합니다. 그런 다음 BX는 반복적으로 감소하고 푸시되어 가비지 바이트 (높은 바이트)와 함께 스택에 인쇄 프로그램의 임의 값 (낮은 바이트)을 입력합니다. 다음으로, 일련의 긴 감소는 BX를 0xAAAD 값으로 가져옵니다. 이는 2 개의 1 바이트 명령어 'Load Word'및 'Store Byte'입니다. 이 명령어의 각 쌍은 인쇄 코드에서 하나의 가비지 바이트를 제거합니다. 이 지침은 28 회 (인쇄 프로그램 크기) 나머지 파일은 NOP 역할을하는 더 많은 감소 명령으로 채워집니다. 이 NOP는 스택에 사용 된 메모리 영역에 도달 할 때까지 실행되며 응축 코드로 덮어 씁니다. 압축 코드가 실행되어 스택의 코드에서 가비지 바이트가 제거됩니다 (이전에 설정된 SI 및 DI로 표시). 최종적으로, 응축 코드가 완료되면, 인쇄 프로그램은 다음에 실행할 명령에 메모리에 성공적으로 저장되었다.

기계 코드 (FASM)를 생성하기위한 어셈블리 코드

조직 100 시간

"Made it, Ma! 세계 최고!" -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 반복
12 월 bx
끝 반복
반복 8
푸시 BX
끝 반복
포파

0x10000-0xFF21-28 * 2-2 반복
12 월 bx
끝 반복
푸시 BX
0xFF21-0xFECD 반복
12 월 bx
끝 반복
푸시 BX
0xFECD-0xFE4C 반복
12 월 bx
끝 반복
푸시 BX
0xFE4C-0xFDB4 반복
12 월 bx
끝 반복
푸시 BX
0xFDB4-0xFCEB 반복
12 월 bx
끝 반복
푸시 BX
0xFCEB-0xFC7C 반복
12 월 bx
끝 반복
푸시 BX
0xFC7C-0xFC12 반복
12 월 bx
끝 반복
푸시 BX
0xFC12-0xFBB7 반복
12 월 bx
끝 반복
푸시 BX
0xFBB7-0xFAFE 반복
12 월 bx
끝 반복
푸시 BX
0xFAFE-0xFA81 반복
12 월 bx
끝 반복
푸시 BX
0xFA81-0xFA61 반복
12 월 bx
끝 반복
푸시 BX
0xFA61-0xFA21 반복
12 월 bx
끝 반복
푸시 BX
0xFA21-0xF8CD 반복
12 월 bx
끝 반복
푸시 BX
0xF8CD-0xF802 반복
12 월 bx
끝 반복
푸시 BX
0xF802-0xF7B4 반복
12 월 bx
끝 반복
푸시 BX
0xF7B4-0xF760 반복
12 월 bx
끝 반복
푸시 BX
0xF760-0xF6F9 반복
12 월 bx
끝 반복
푸시 BX
0xF6F9-0xF674 반복
12 월 bx
끝 반복
푸시 BX
0xF674-0xF634 반복
12 월 bx
끝 반복
푸시 BX
0xF634-0xF53C 반복
12 월 bx
끝 반복
푸시 BX
0xF53C-0xF480 반복
12 월 bx
끝 반복
푸시 BX
0xF480-0xF442 반복
12 월 bx
끝 반복
푸시 BX
0xF442-0xF346 반복
12 월 bx
끝 반복
푸시 BX
0xF346-0xF2D2 반복
12 월 bx
끝 반복
푸시 BX
0xF2D2-0xF231 반복
12 월 bx
끝 반복
푸시 BX
0xF231-0xF201 반복
12 월 bx
끝 반복
푸시 BX
0xF201-0xF200 반복
12 월 bx
끝 반복
푸시 BX
0xF200-0xF1BE 반복
12 월 bx
끝 반복
푸시 BX

; 28 바이트 코드

; 인쇄 코드 저장 완료

0xF1BE-0xAAAD 반복
12 월 bx
끝 반복
반복 28
푸시 BX
끝 반복


; 컴팩트 코드 저장을 완료하고 남은 공간을 'dec bx'로 채 웁니다.
; 수정 된 코드를 칠 때까지 nop 역할을합니다.
fill_pos :
0xffff-fill_pos -2 반복
12 월 bx
끝 반복

1
내 대답은 80386 지침 ( IMUL특정 유형)을 사용했기 때문에 다른 "언어"라고 할 수 있습니다. 이 단계에서 x86이 여전히 가능한지 확인조차하지 않았습니다.
아나 톨릭

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실행하십시오 (줄 바꿈은 DOS 형식을 사용 하고 코드 0d 0a에는 한 TAB문자가 있습니다). 최신 64 비트 Windows 시스템이 16 비트 코드를 지원하지 않는 것은 너무 나쁩니다. 코드를 실행하려면 32 비트 Windows 시스템 또는 DOSBox 가 필요합니다.

DOS debug.com디버거를 사용하여 코드를 개발했습니다. "소스 코드"를 "조립"하려면 디버거로 리디렉션하십시오. 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의 마스크와 XOR - 마스킹 문자를 금지하고있다 0x41, 0x23하고 0x24. 나는 금지되지 않은 마스크를 선택했습니다.
  • 출력을 수행하는 코드에 금지 된 문자 또는 ASCII가 아닌 바이트 0xcd및 및이 (가) 0xc3있습니다. 또한 XOR 마스크 처리되므로 코드 자체를 수정해야합니다.
  • 모든 메모리 액세스는 오프셋으로 수행됩니다. 포인터는 내용 자체를 가리 키지 않지만 몇 바이트는 더 적습니다. 그 이유는 오프셋없이 메모리 액세스를 사용할 때 명령어 코드가 비 ASCII이기 때문입니다.
  • 여기서 문자 k는 매우 중요합니다. IMUL곱셈 명령어를 인코딩합니다 . I는 상수 값을 얻기 위해 사용 예를 들어, 정수 0x216b곱하면 0x45, 유용한 상수 제공 0x01d7패치되어야하는 코드 (상술 한 바와 같이, 오프셋)에 대한 포인터이다. 비슷한 방식으로, 패칭 마스크는 0x2132*0x36=0x8c(절단은 신경 쓰지 않습니다).
  • 전술 한 바와 같이, 상수를 얻는 것은 큰 고통이다. 더 나쁘게 만들기 위해 레지스터의 초기 값에 대해서는 아무 것도 가정하지 않았습니다. DOS는 일반적으로 0으로 설정하지만 확신 할 수는 없습니다. 이로 인해 레지스터를 0으로 초기화하는 재미있는 연습이있었습니다 and ax, 2142; and ax, 4221.
  • "가독성"에 대해 2 개의 줄 바꿈을 추가했습니다 (다행히 이것은 코드 골프가 아닙니다!). 코드에서 "xor ax, a0d"로 지정됩니다. 짝수의 숫자가 있어야하므로 값 ax이 바뀌지 않습니다.

편집 : _더 이상 문자를 사용하지 않음 (포스트에서 나쁜 타이밍)-를 사용할 수 없으므로 레지스터를 훨씬 적게 pop di사용하십시오 di.


@78에 이미 금지되어 있습니다. 다른 기호를 선택하십시오.
kennytm

3
소품, 선생님, 소품.
Claudiu

3
"인쇄 가능한 ASCII 만 사용하는 실행 파일을 만드는 것은 쉬운 일이 아닙니다." :이 문서 흥미있을 cs.jhu.edu/~sam/ccs243-mason.pdf
러셀 Borogove

22

85. HTML5 (no 사용 {)

&#x22&#x57&#x68&#x6f&#x27&#115&#x20&#x6f&#x6e&#x20&#x66&#x69&#x72&#115&#x74&#x2e&#x22&#x20&#x2d&#x20&#x44&#x65&#x78&#x74&#x65&#x72

출력은 따옴표 91입니다.

"Who's on first." - Dexter 

이전에 금지 : py3\" ';(


8
무엇 지구에 ...
이단 Bierlein

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 회 반복되는 것을 의미한다. base64로 인코딩 된 bzip2 압축 파일 (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 프로그램으로 사용하십시오. 위키에서 링크 된 블로그 게시물에 설명 된대로 v0.2에는 다음 형식의 SHA-1 출력에 대한 "취약점"이 있습니다.

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

허용됩니다. 이를 통해 brainfuck 명령을 2048 바이트 청크로 간단하게 변환 할 수 있습니다. 엔코더는 문자 집합으로 az를 사용 하는데 이는 우리에게 적합하지 않습니다. 따라서 우리는 스스로 "광부"를 작성해야합니다. 이제 13 개의 유효한 문자가 있습니다. SHA-1 출력이 무작위라고 가정하면 처음 3 바이트를 수정하려면 3 × log₁₃ (256) ~ 6.5 입력 문자에 해당합니다. 따라서 다음 13 개의 알파벳으로 만든 7 자 문자열을 모두 반복해야합니다.

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
@ 조 : 네 그렇습니다.
kennytm

1
Darn, 내 대답 # 2가 있습니다.
gone_native

@ gone_native 나도 이것을 가지고 있었다. 하지만 또 다른 대답 # 2를 ...이
jimmy23013

1
@Joe (1024 - 7)는 더 읽기 쉽습니다 .
Vi.

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
String을 Ook로 변환하는 Java 프로그램을 작성했습니다! 문자열을 출력하는 프로그램. 그러나 루프를 사용하지 않고 증가하고 감소합니다.
stevecross

1
@feuerball 그래서 ... 그것은 정말 비효율적 인 Ook입니다! 거기에서 생성 한 프로그램. (공간 측면에서)
tomsmeding

2
나는 알고 있지만 적어도 그것이해야 할 일을합니다.
stevecross

1
그것은 언어와 인용문의 완벽한 조화입니다. 나는 당신이 움직이는 그림을 읽었다 고 생각 합니까?
TRiG

18

(76) 오피스 코드는 , 아니 사용-

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 스크립트를 사용하여 순수한 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.cppesolang 페이지에서 사용 하여 조립합니다. 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

OISC "Addleq"는 "Subleq"와 유사하지만 빼기 대신 더하기를 사용합니다.

"-1"구성

Addleq의 출력은 메모리 주소 -1에 쓰면 작동합니다. 모든 홀수는 금지되므로 일반적인 방법으로는 -1을 생성 할 수 없습니다. 그러나 어셈블러가 -1을 만들도록 속일 수 있습니다.

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

여기서는 (C11 §7.21.6.2 / 12) sscanf(s, "%d", &ret)처럼 동작 ret = strtol(s, NULL, 10);하며 입력이 오버플로 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 개의 숫자 만 포함 된 경우 다음 명령의 주소로 세 번째 숫자를 자동으로 제공합니다.
  2. 행에 1 개의 숫자 만 포함 된 경우 해당 숫자가 복사되고 규칙 # 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", "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 번째 매개 변수를 수동으로 제공해야합니다. 즉, 각 줄 바꿈을 두 개의 탭으로 교환합니다. 다행히도 조합 전에 60 개의 탭을 사용했기 때문에 최종 결과가 거의 요구 사항을 통과하지 못했습니다.


1
정말 우연의 일치 목록입니다! 거의 모든 것이 교활한 계획의 일부인 것처럼 보입니다.
anatolyg

@anatolyg : 이것은 실제로 코드의 세 번째 버전입니다 :), 방정식은 줄 수를 최소화하기 위해 여러 번 다시 작성됩니다. 이전 버전에는 ~ 3 줄이 너무 많습니다.
kennytm

이 경우 대신도 좋을 것 4하고 8있었다 07.
Vi.

@Vi. 또는 적어도 8과 9 ... 숫자 기반 언어가 여전히 작동하는 것처럼 보였습니다.
jimmy23013

17

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

누군가 '지금 차단 !
Optimizer

7
@Optimizer 일
마틴 청산을

16

81. PI가 없이 사용<

9.1415926525897922284626422822795028841971692992751058209749445927078164062862089986280048252421170679821480865102822066470928446095505822017252594081284811174502841027019285211055596446229489549200819644288109756659224461284756482227867801652712019091456485669224602486104542266482122906072602491412727245870066062155881748815209209628292540917152642678925902600112005205488204665212841469519415116094220572702657595919520921861172819026117921051185480744622799627495672518857527248912279281820119491298226720624406566420860212949462952247271907021798609427027705292171762921767522846748184676694051220005681271452605608277857712427577896091726271787214684409012249524201465495852710507922796892589225420199561121290219608640244181598126297747712099605187072110499999982729780499510597217228160962185950244594552469082026425222082522446850252619211881710100001278287528865875222082814206171776691472025982524904287554687211595628628822527875907519577818577805221712268066120019278766111959092164201989280952572010654858622788659261522818279682202019520252018529689957726225994128912497217752804791215155748572424541506959508295221168617278558890750982817546274649292192550604009277016711290098488240128582616025627076601047101819429555961989467678274494482552797747268471040475246462080466842590694912902126770289891521047521620569660240580281501925112522824200255876402474964722629141992726042699227967822547816260092417216412199245862150202861829745557067498085054945885869269956909272107975092029552211652449872027559602264806654991198818247977525662698074265425278625518184175746728909777727928000816470600161452491921722172147722501414419725685481612611572525521224757418494684285211219071941411145477624168625189815694855620992192221842725502542568876717904946016514668049886272127917860857841818279679766814541009518817861609506800642251252051171929848960841284886269456042419652850222106611864067442786220891949450471207107869609560640719172874677646575729624128908658526459958144904780275900994657640789512694681981525957098258226205224894077267194782684826014769909026401161944074550050682004962524517490996514014298091906592509072216964615157098580874105978859597729754989001617509284681582686818689427741559918559252459519594110499725246808459872716446958486518167162226260991246080512418841904512441065497627807977156914059977001296160894416948685558484060504220722258284886481584560285060168427094522674676788952521085225499546667278209864565961160548862005774564980055906045681740241125150760694794510965960940252288797108941456691468672287489405601015045086179286809208747609178249285890097149096759852612655497818921297848216829989487226588048575640142704775551121796414515217462141645428584447952658678210511411547157195211114271661021159695162114429524849071871101457654005902799044007420070105785090621980874478084784896800214457108687519405064002184501910484810050706146806749192781911979499520614196644287544406447451247181921799985910159195618146751426912297489409071864942219615679452080951465502252216028819101420917621178559566189177870810190697920771467221825625996615014215010680184477145492026054146659252014974428507125186660021124140881907104860017046496514509057962685610055081066587969981605747060840525714591028970641401109712062804090097595156771577004200078699060072005587601764594218741251471205429281918261861258674215791984148488291644706095752706957220917567116722910981690915280175506712748582222871825209252965725121081579151169882091444210067510114671101141267111169908658516198115019701651511685171417657618151556508849099898599821871455281116055076479185058902261854896021029000898570642046752590709154814165498594616071802709819940099244889575712828905920200260972997120844005742654895822911912597461667105816041428118810120182490175898524174417029112765618091771444010707469211201910020000080197621101100449290215160842444859607669848952286847841245526582141449576857262452441892029686426242410771226978028071189154411010446821252716201052652272111660196665571092547110557851760466820650109896526918620564769012570586056620185581007295606598764861179104511488501461116576867502494416680096265797877185560845529654126654085006140444018586769751456614068007002078776591044017127494704205622005089945610140711270004078547002699090814546646458807972708266840654228587856981052158089110657574067954571617752542021149557615814002501262285941102164715509792592109907965471761255176567511575178296664547791745011299614890104619947112962107140407518957059614589019089710111790429782856475002001986915140287080859904801094121472210179476477726224142548545400021571850061422881075850400600217518297986622471721591607716692547487589866549494501146540628421661917900197692656721461851067160965712091807618127166416274888800786925602902284721040117211860820419000422966171196177921117575114959501566049611862947265470642520081770067515906705020507280540567040086740510622224771589150495009844489000096040878076922599297805419541447477441842641298608099888687411260472156951621965864571021611598191195167151812974167729478672422924654166800980676928218280689964004824154017014161149658979409241217896907069779422062508221688957080798620001590776471651228905786015881617557829705200446042815126272007040146501977774160419906655418765979292144195215411418994854447145671811624991419111814809277771018618771411772075456545122077709212019051660962804909261601975988281610020166606528619026686006062705676000544776280050450777205547105859548702790814056240145171806246446267945612754181440785202262542127819449751824172058151114771199260618111467768796959701098119110771098704085910074641442822772604659470474587847787201927715280701767907707157210444700605700700492406901108050490160128404251219256517980694114528015147012047816417885185290928545201165819141965621149141415956258658655705526904965209858011850722426482919728584781161057777560688876446248246857926019515277148010480290058760758251047470916409610626760449256274204208020856611906254540072101505958450687724602901618766795240616042522577195429162991900645507799140070404028752628889609958794757291746426057455254079091451457111469410911949525191076020825202618798521887705842972591677812149699009019211697172727847684726860849001177024242916511005005168121164150189517029891922114517220118128069650117844087451960121228599171621110171144484640900890644954440061986907548516026027505298049187407866808818008510228004508504860825009002100219715518400605455007668282949004127765527929751754612955984684494618104746119966518581518420568511862186725211402810871121282789212507712629461229561989898915821167456270102181564622010496715188190970008119800497040720961006854066441949509790190699659552452005450580685501956720229219119119185680144901982059551002261505061920419947455085908102242955449597785779024742161727111724641415419478221818528624085140066604410258885698670540154706965747458550002521142107101545940516551790686627000799585115625784022988270720198987571415957811196458440059408750681216028764962867446047746491599505497274256269010490277819868259181465741268049256487985561451721478671101904688080406046555794986419270561872911748721120807601120029911067908627089408799062016295154100714248928007220126901475466847654576164774794675200490757155527819655621222926406160116158155907422020201187277605277219005561484255518792510141511984425122141576200610642506090497500865627109505919465897514101004822769006247405060256916078154781811528406679570611086150215044521274759245449454246828860611408414861776700961207151249140410272518607648216141411462151897576645216411767969011495019108575984421919862916421909949072062046468441170940026591840440780510008945257420995082965912285085558215725001071257012668002402929525220118726767562204154205161841604847565169998116141010029960780869092916040288400269104140792886215078424516709087000699282120660418471806555567252522567522861291042487761825829765157959847015622262914860014158722980514989650226291748788202714209222245119856264766914905562842501912757710284027998066165825488926488025456610172967026640765590429099456815065265105171829412701169110785178609040708667114965580404047690085781711086455870678120014587687126600489109095620099090610010291616152881484479099042517472261948045759114911405297614757481191567091101177517210080115590248510906692017671922011229094114676851422144771790907517004406619910400075111705471918550464490260655128162288244625759160000091072250807421821408805086572917715096828874782656995995744906617585441475221970968140800515598491754171818819994469748676265516582765848158845114277568790029095170281529716144562129640415211176006651012412006597558512761785818292041974844216080071910457618912049229279650198751872127267507981255470958904556057921221000546697499215610254947802490114195212182815109114079070860251522742995818072471625916685451000120948049470791191502670400282441860414262629548000448002670496248201792896476697585184271414251702969214889627668440121260927524960157996469256504916818160900121809290459588970695065049406004021665440755890045602882250545255640564482465151875471196218440965825007540885690941100015095261790780029741207665147909425902989695946995565761218656196722786256256125216420862869222104274889218654164802296780705765615144612046927906821207188177814211562821608961208068222468012248261177185896181409181901671672220888121511755600072798094004152970028780076670944474560104556417254070906979096122571429894671540578468788614445812014590571984922528471605049221242470141214780570455105008019086996000027604787081081754501192071412254908661918119529425786905076411006181519814189141596111854147546495569781018290097164651408407007070604112070599840452251610507027056205266012764848008407611800100527902054274628654006026745228651057065874882256981579267897669742205750596854408697450201410206724585020072452256426511410559240190274216248419140159989515194590944070469120914091870012645600162174288021092764579110657922955249887275846101264816999892256959688159205600101655256175678566722796619885782794848855814197518744545512965604404800966420557982906804052202770984294202500022576041807009476994159791594500069752148290066555661567874640054666564165474217045902521229542529169414599041608751201868179170214888689479151071617852902145292440771659495610510074210871426114974595615118498711757047101787957110422969066670214498617464595280824569445789772

출력은 인용 81입니다 :

"Hello, gorgeous." - Fanny Brice

이전에 금지 된 사항 : py3\" ';({s[)

뭐 ? 없는 파이 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" 을 문자열로 구성하고 평가하는 것입니다.

비록 '"금지, 펄 부가하여 문자열 표현 허용 q«…»하고 qq«…»각각. ;모든 진술이 허위가 아니기 때문에 금지되어 있지만 , 우리는 and진술을 함께 묶는 데 사용할 수 있습니다 . 대문자 때문에 P, Y, S여전히 우리는 넣을 수, 허용 p, y, s사용하여 최종 문자열로 lc하면서, (소문자) 함수를 chr기호를 넣어 사용할 수 있습니다 ".


나는 규칙을 오해 할 수 있지만, 이것은 P와 Y를 모두 사용뿐만 아니라 S
GeoffWilson

1
@G_Wilson : 대문자와 소문자가 다릅니다.
kennytm

미안해 내 잘못이다. 다른 ASCII 값을 가지고 있다는 것을 잊었습니다.
GeoffWilson

"모든 문은 falsy 아니다"모든 말은 진술을하는하지 falsy, 맞죠? ( $foo=0물론 거짓입니다.) 어쨌든 아주 좋습니다. +1.
msh210

@ msh210 그래, 문은 falsy되지 않습니다.
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
나는 거기에 Q가 있다고 확신합니다
Calvin 's Hobbies

14

6. 하위 스킨 (아니오 사용 K)

다음 프로그램의 9 행은 테스트 가능한 것으로 대체됩니다. 두 줄의 줄 바꿈과 정확히 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 행을 다음 큰 숫자로 바꿔야합니다. 나는 이것이 단항 변형과 마찬가지로 유효해야한다고 생각합니다.

  • 숫자가 있습니다.
  • 그 오른쪽 4109527714173620014271192135615819980149748934951677499623857818618801276212206327654950831404071330954232878836395346962954202538476535987403920483325378835064959624187891476909072253512354662379230835497647226755470473642747146485760293230336401802073590883942400000000000000000 개 * k 개의 숫자가있는 모든 자리가있다 a. 따라서 마지막 숫자는 ak = 0이며 15932146018444764058806304379553181963824599012185453613179291854286456641839733928115351608667742542442372347553197468454785535800123018354785170327457727660161262225817172728800390233161943578393937982939379
  • 해당 위치에없는 모든 숫자는입니다 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 .

설명

하위 스킨은 명령을 빼야하는 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이라고 가정합니다. 이 진행 상황을 쉽게 되돌릴 수 있고 n과 m의 관점에서 A와 B (유용한 데이터가 시작되기 전에)를 얻을 수 있습니다. 그리고 A = an + bm, B = cn + dm. A를 충분히 큰 임의의 숫자로 설정하고 n과 m을 모두 양수로 만들 수 있습니다 (사용 가능한 문자 만 사용). n 및 m은 모듈 식 반전을 사용하여 계산할 수 있습니다. 그런 다음 B는 n과 m으로 결정됩니다.

그러나 B도 그 문자 들로만 구성하는 것은 쉽지 않습니다. 무해한 정크 데이터 만 추출해야하는 추가 단계를 사용했습니다. 따라서 새로운 B는 kA + B입니다. 여기서 k는 양의 정수입니다. 그러한 ak가 존재하는 것을 쉽게 알 수 있습니다. 그러나 테스트 할 수있을 정도로 짧은 것을 찾을 수 있는지 확실하지 않습니다. 저는 Fermat의 작은 정리를 사용하여 이론적으로 효과가있는 이론을 찾았습니다.

# 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, d2ddiff제거 모두 공백.


내 원래의 아이디어를 사용하는 것이 었습니다 ToString, FromDigits, IntegerDigits, PartitionFromCharacterCode. 그러나 모두 FromDigitsIntegerDigitss내가 발견하지었던 그들입니다.


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

OS X에서만 작동 write하는 number 의 시스템 호출을 사용합니다. 0x2000001어셈블 링, 링크 및 실행 :

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의 배수를 추가 나는 중복 및 포함 된 숫자 피할 수 03. 마지막으로 빈 문자열을 밀어 넣고 ?대칭 집합 차이를 취합니다. 이렇게하면 배열이 평평 해지고 문자열로 강제 변환되어 GolfScript는 나머지 mod 256 만 처리합니다.

여기에서 테스트하십시오.


10

91 Marbelous은 , 아니 사용\

6D......69
72726F7169
+1+1......
7460204261
......+1..
4C6E726574
2121202D20
6F65206974
206E757420
22526E6170
..+1......

출력은 인용 96입니다.

"Snap out of it!" - Loretta Castorini

이전에 금지 :py3


10

95. 파이썬

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

출력은 따옴표 100입니다.

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

금지 된 사항이 없습니다.


20
이 답변 간의 표 차이 이 대답은 스택 교환되는 수수께끼이다.
Calvin 's Hobbies

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 코드 목록 인 변수 를 구성합니다 . 애플 스크립트에서, number & number2 요소 목록을 생성 {number, number}하고, list & number목록에 번호를 추가, 그래서 사용하지 않는 것이 우리를 허용 {하거나 ,. 또한 and &보다 우선 순위가 낮 으므로 변수를 만들거나 변수를 만들지 않고 (3 개의 탭을 낭비 하는) 전체 목록을 한 줄로 만들 수 있습니다 .*/(

그런 다음 숫자 목록을 변환합니다 c string으로 합니다 d. 연결 &이므로 다시 사용 합니다 string & string. AppleScript는 대소 문자를 구분하지 않으므로 문자 diSPlaY를 해결하는 데 사용할 수 있습니다 pys.


아, AppleScript 답변도 만들려고했지만 키워드가 대소 문자를 구분하지 않는다는 것을 알지 못하여 사용 set하지 못하고 실패했습니다. 인용 부호 62에 대한 답변이 있었지만 지금은 사용할 수 없습니다. P
Tyilo

10

57. 소극적 (No no |)

새 줄은 설명을위한 것일 뿐이지 만 탭이 필요합니다. 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]^{}~


해학은 GolfScript와 유사하지만 일반적으로 각 명령의 길이는 2 자입니다. 구성은 다음과 같습니다.

  1. Burlesque는 임의의 정밀도 정수를 지원하며 밑줄 36으로의 변환도 허용합니다. 따라서 먼저 밑줄 모든 문자를 밑줄 36으로 인코딩합니다.

       awyeryouregoingoutayoungsterbutyouvegottocomebackastarulianarsh₃₆
    == 3379063095879820583038345369081212641008420750861587542962343112066870047037314854758539\
       9600704049₁₀
    
  2. 불행히도이 숫자는 0, 3, 7을 너무 많이 포함하고 있으며 모든 산술 기호 ( +-*/)는 금지되어 있습니다. 일반적으로 계수를 사용할 수 있지만 Burlesque는 .%점을 사용할 수없는 시퀀스 를 사용합니다 . 운좋게도, xor 연산자는 이상하다 $$. 그래서 우리는 0, 3, 7이없는 두 숫자를 xoring하여 이것을 구성하려고 시도 할 수있다. 이것이 큰 숫자 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 답변 의 아이디어의 조합입니다 .

익숙하지 않은 사용자를 위해 Apple II 컴퓨터의 시스템 모니터는 메모리를 수정하고 코드를 실행할 수있는 매우 낮은 수준의 인터프리터 / 디버거입니다 (BASIC 인터프리터를 실행중인 경우을 수행하여 시스템 모니터에 들어갈 수 있음 CALL -151). 시스템 모니터에 머신 코드를 입력하는 일반적인 방법은입니다. <addr>: <hex_byte> <hex_byte> ...실행 코드는 <addr>G(G는 "Go")에 의해 수행됩니다 . 일반적인 방식으로 코드를 입력하면 금지 된 문자가 사용됩니다. 그러나 한 줄의 텍스트를 입력하기위한 입력 버퍼는 메모리 0x200에서 시작합니다. 따라서 하나의 라이너는 시스템 모니터에 0x262로 건너 뛰고 ASCII가 다음과 같이 포함 된 코드를 지시합니다.

난해한 언어는 아니지만 사용 가능한 opcode에 대한 제한으로 인해 코드가 brainfuck 파생물과 더 유사합니다. 사용 가능한 모든 것 : 메모리 읽기 (쓰기는 아님), 메모리 증가 및 감소, 누산기에서 빼기 및 0이 아닌 분기. 몇 가지 명령 만 패치되었습니다. 문자를 출력하는 모니터 루틴 호출 및 반환 프로그램을 종료합니다.

분해. 모든 문자 입력은 높은 비트 세트를 얻습니다.

; 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

몇 가지 기술적 세부 사항 :

  • 모든 줄 바꿈은 유닉스 스타일을 사용합니다 (1 바이트 0x0a)
  • 파일 끝에 줄 바꿈이 없습니다 (중요하지는 않지만)
  • 탭 문자는 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
...

소스 코드 (모든 숫자는 8 진수 표기법으로 표시됨) :

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

패치 (스크램블 해제) 코드 :

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

이 코드 자체에는 금지 된 바이트가 포함되어 있지만 훨씬 짧습니다 (9 단어). 이 코드를 해독하는 패치 프로그램은 허용 된 바이트 (소스의 "패치 패치"설명 아래에 있음) 만 사용하므로 매우 제한된 작업 세트 (기본적으로 "추가")가 있으므로 많은 바이트를 패치해도 너무 많은 코드.

이 패치 프로그램을 사용하는 것은 간단하지 않습니다. 간단한 코드로 많은 양의 데이터를 패치하기 위해 add r5, (r3)+and와 같은 명령이 필요 했고 add r5, -(r3)이와 같이 사용할 수있는 유일한 레지스터는 r3and 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 줄 바꿈이 있습니다.

실행하면 두 번째 인용문이 인쇄됩니다.

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

이 도전에 대해 알려 주신 @ jimmy23013에게 감사드립니다.

확인

이 위의 코드가 작동하기 때문에 온라인 통역 , 공백 (사용 순수 23 ), 아니 X의 의 ( 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{

일련의 정규식 대체를 기반으로합니다. : pyth에서 -pyth에서 각각 백틱 문자`를 대체하고 새 문자와 백틱이 포함 된 두 개의 문자열로 대체합니다.

대체는 모두`(J)의 원래 문자열에 적용됩니다.

두 문자 문자열은 j숫자 및 밑수에 대한 기본 변경 기능을 사용하여 숫자의 목록 항목을 생성 한 다음 새로 정의 된 S함수에 의해 2 개의 문자열로 ASCII 인코딩됩니다 .

설명:

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입니다.

"라디 다, 라디 다" -애니 홀

이전에 금지 된 사항 : "'&()*+-,./\037;<=>@X_[sovy pez]^{}

Apple // e (또는 에뮬레이터)에서 실행됩니다.

간단한 설명 : 화면을 비운 후 "CALL 2111"은 4-15 행의 임베디드 6502 기계 코드로 이동하여 각 문자를 텍스트 페이지에 직접 씁니다.

세부:

  • 1 행 : 화면을 지우고 2 개의 줄 바꿈을 인쇄하여 명령 프롬프트가 따옴표를 겹쳐 쓰지 않고 4 행에서 시작하는 내장 기계 코드를 호출 한 후 종료하십시오.
  • 2 행 : Applesoft 프로그램은 일반적으로 주소 0x0801 (2049)부터 저장되지만 '0'은 금지 된 문자이므로 내장 기계 코드를 0x83F (2111)에서 시작하도록 여기에 패딩을 추가해야합니다.
  • 4-15 행 : 기계 코드는 ASCII로 인쇄 가능한 바이트로만 구성 될 수 있습니다. 토큰 화기는 예약어를 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를 인코딩하는 것이 더 쉽기 때문에 구문은 오른쪽에서 왼쪽으로 그려집니다.
  • "LDA imm"(0xA9)의 opcode가 잘못된 문자 '='를 포함하는 예약어 "COLOR ="에 매핑되기 때문에 "LDX imm; TXA"시퀀스가 많이 있습니다.

8

41. 조정 (아니오 사용 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는 1 개의 레지스터와 2 개의 스택이있는 2D 언어입니다. 코드 포인터는 왼쪽 아래에서 시작하여 북동 방향으로 걷습니다. 명령은 현재 문자 코드의 소인수 분해 (예 : Z= 90 = 5 × 3 × 3 × 2)를 기반으로하므로 문자 Z는 "5"작업을 한 번, "3"작업을 두 번 수행 한 다음 "2"작업을 한 번 수행합니다. 이를 통해 하나의 기능을 수행하고 금지 된 문자를 피할 수있는 여러 가지 방법을 사용할 수 있습니다.

프로그램의 기본 아이디어는 다음과 같습니다.

  1. 누산기에 인쇄 할 올바른 ASCII 코드가 포함되도록 충분한 "5"(마지막 비트 플립) 및 "2"(오른쪽 3 비트 회전)를 수행하십시오.
  2. 스택 # 2에 어큐뮬레이터가 포함될 때까지 "3"수행 (더 가벼운 스택으로 밀고 복잡한 회전)
  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 줄 아래로 이동 하는 데 사용 합니다. 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의 디자인은 4 개의 고유 한 문자가있는 한 전체 명령어 세트를 사용할 수 있도록하며, 3 개가있는 경우 루프를 제외한 모든 항목을 사용할 수 있으므로 이는 사소한 세부 사항입니다.

나는 실제로 내가 본 영화에서 내가 좋아하는 인용문을 골랐지만 분명히 규칙을 간과했다. :(


3
글쎄, 모두가 좋아하는 계수 전술이 있습니다 : P
Sp3000

1
따옴표 6을 사용할 수 없습니다. "선택한 따옴표 번호가 답변 번호보다 5보다
작아서

@anatolyg, 나는 그 규칙을 놓쳤다. 감사. 업데이트되었습니다.
피터 테일러
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.