ROT-13 변환 표준 입력


34

도전 과제 : 임의 길이의 입력을 읽고 입력의 ROT13 을 생성하는 것 . AZ 이외의 모든 문자는 출력 그대로 그대로 복사해야하며 가능한 경우 대소 문자를 유지해야합니다.

표준 스트림을 읽고 쓸 수있는 모든 언어는 공정한 게임입니다.


3
나는 그냥 참고 ROT13, 제거, 그래서 문제는, 태그 안
닉 BERARDI

2
대문자와 소문자를 모두 계산하기 위해 A-Za-z를 의미하지 않습니까?
Joey Adams

5
@Chris Jester-Young, 그것은 wikipedia의이 카테고리에 속합니다. 그것은 가장 어려운 것이 아니라 암호화의 일부입니다. 어쨌든 더 이상이 사이트를 팔로우하지 않습니다. 커뮤니티가 나를 실망시켰다. 죄송합니다. GL HF.
Nakilon

17
xor가 암호화 가 아니라고 말하는 것은 a + b가 수학이 아니라고 말하는 것과 같습니다 .
Nakilon

3
태그는 질문을 분류하고 유사한 질문을 검색하는 데 사용됩니다. 특히 암호화 태그 (그리스어 kryptós, "숨김, 비밀", 그래 핀, "쓰기")는 암호화 및 암호 해독 문제를위한 것입니다. 최신 응용 프로그램에 안전한 것뿐만 아니라 모든 암호화 및 암호 해독

답변:


25

배쉬, 23 바이트

정식 23 자 답변 :

tr A-Za-z N-ZA-Mn-za-m

1
나는 현재 bash에 액세스 할 수 없지만 이것이 효과가 있다고 생각합니다. tr A-za-m N-ZA-z(16 자)
Nabb

2
@Nabb : 반갑습니다. GolfScript-meister! : -DI 여기에서 귀하의 솔루션이 "AZ 이외의 모든 문자를 출력으로 그대로 복사해야한다"는 규정을 어길 것이라고 생각합니다.
Chris Jester-Young

@Chris : 네, 당신이 옳은 것 같습니다.
Nabb

@Nabb : 아니요, 저도 마치 그가 틀린 것 같습니다. 아니면 예를 보여 주시겠습니까?
사용자 알 수 없음

2
@user unknown : 입력을 [\\]^_`입력하십시오. 적어도 내가 가지고 있는 버전에서는 NOPQRS오히려으로 돌아올 것입니다 . (그 사이에 거짓말을 ASCII에서 6 자이다 와는 분명히 다른 모든 문자가 제대로 작동합니다..)[\\]^_`trZa
크리스 광대 - 젊은

20

배쉬-5 문자

rot13

 


18
의견이없는 지금까지 두 개의 downvotes가 있지만 질문에 대한 downvotes는 없습니다. 나는 그것이 사소한 코드 골프를 요구하는 것은 괜찮지 만 사소한 대답을하지 않는 것을 의미한다고 가정합니다. 어려운 코드 골프!
gnibbler

8
어떤 bash 버전? 내장 된 rot13이 없습니다. bash --version GNU bash, Version 4.0.33(1)-release (i486-pc-linux-gnu)
사용자 알 수 없음

12
나는 이것을 다음과 같이 제출했다 rot13 - 0 chars:;)
boothby

2
'티는 Bash가 아닌 내 친구를 coreutils
TheDoctor

3
음 ... 아니 내 bash (Ubuntu 13.10)에 "명령을 찾을 수 없습니다.이 프로그램을 설치할 수 있습니다 sudo apt-get install bsdgames"

17

파이썬 2, 34 바이트

print raw_input().encode('rot13')

1
-1 당신이 내장 라이브러리를 사용하고 있다는 것이 부정 행위라고 생각합니다.
Glenn Nelson

16
나는 내가 참여한 모든 코드 골프에서 그것들을 사용했다. 또한 파이썬의 표준 라이브러리를 사용하는 것이 부정 행위라면 tr을 어떻게 사용하지 않습니까?
Juan

3
@Anon 어쨌든, 그것은 당신이 방금 무시하는 대답입니다. 그것은 목표를 벗어난 것이 아니며, OP 또는 커뮤니티에 의해 설정된 규칙이 없습니다. 물론, 아마도 내 것이 엉덩이를 차는 tr을 사용하는 것과 같은 수상 경력이있는 솔루션이 아닐 수도 있습니다. 그러나 그것은 농담이 아닙니다. 다른 파이썬과 마찬가지로 파이썬의 힘을 사용하여 카운트를 줄입니다.
Juan

2
@ Glenn : 반대로, 나는 그렇게 말하는 골프 골프를 본 적이 없습니다. codegolf.com, golf.shinh.org 또는 SPOJ SHORTEN도 마찬가지입니다.
hallvabo

9
@ Glenn, 도서관 기능은 공정한 게임이라고 생각합니다. 다른 사람의 도서관에 없거나 구체적으로 배제 할 수있을 정도로 흥미 롭다는 것은 골프 질문에 달려 있습니다.
gnibbler

15

Befunge- 7x30 = 210 6x26 = 156 자

대소 문자를 모두 지원하며 무제한 입력을 지원해야하는 새로운 스트리밍 버전입니다.

v,<               <<     <
  ^-4-9<    >:"A"\`|
     >:"a"\`|     #>:"Z"`|
>~:0`| #    >:"z"`|
,    @ |    <`"m":<v`"M":<
^  +4+9<    ^      <

구 버전

이 값은 자체 소스 코드 안에 값을 저장합니다. 저장된 값을받는 순서대로 출력하는 것이 얼마나 끔찍한지를 보여줍니다. 소문자 만 지원합니다.

vp0p11:+1g11<      < <
v                    ^-4-9<
v    >:"a"\`|>:"z"`|>:"m"`|
>~:0`|      >^     >^#
                     ^+4+9<
     >$011g1+0p>12g1+:12p0g:v
               ^           ,_@

http://www.quirkster.com/iano/js/befunge.html 을 큰 입력으로 인해 깨지는 것처럼 해석기로 사용하여 이것이 어떤 제한을 가지고 있는지 정확히 알 수 없습니다 .


줄 끝에서 공백을 제거 할 수 있습니다.
Zacharý

10

루비 -60 57 38 37 자

편집 : 방금 루비 문자열에 tr메소드 가 있음을 깨달았습니다 .

puts$<.read.tr'A-Za-z','N-ZA-Mn-za-m'

테스트

input = "The challenge: To read an input of arbitrary length and produce the ROT13 of the input. All characters besides A-Z should be copied to the output verbatim, and case should be preserved if possible.

Any language that can read and write standard streams is fair game."

output = `echo '#{input}' | ruby golf-rot13.rb`

puts "Input:"
puts input
puts "-------"
puts "Output:"
puts output

제공합니다 :

Input:
The challenge: To read an input of arbitrary length and produce the ROT13 of the input. All characters besides A-Z should be copied to the output verbatim, and case should be preserved if possible.

Any language that can read and write standard streams is fair game.
-------
Output:
Gur punyyratr: Gb ernq na vachg bs neovgenel yratgu naq cebqhpr gur EBG13 bs gur vachg. Nyy punenpgref orfvqrf N-M fubhyq or pbcvrq gb gur bhgchg ireongvz, naq pnfr fubhyq or cerfreirq vs cbffvoyr.

Nal ynathntr gung pna ernq naq jevgr fgnaqneq fgernzf vf snve tnzr.

뒤에 공백이 필요하지 않으며 puts'Az'는 'A-Za-z'의 바로 가기입니다
Ventero

1
@ Ventro : 감사합니다. 약간의 테스트를 거친 후에 'A-z'실제로 'A-Z[\]^_a-z ' , damn ascii having characters between Z` 및 a입니다.
Nemo157

1
기본적으로 동일하지만 35 자 : puts gets.tr'A-Za-z','N-ZA-Mn-za-m'.
Michael Kohl

@Michael : getsEOF까지 $ <. read 읽기를 사용하여 첫 번째 행만 반환합니다. 이 질문에는 입력에 새 줄이 포함될 수 있는지 여부에 대해 아무 말도하지 않으므로주의 측면에서 잘못했습니다.
Nemo157

충분히 공평하지만 운동 스펙은 "임의의 길이"만을 언급했지만 개행에 대해서는 아무 말도하지 않았기 때문에 codegolf에서 간결한 측면에서 오히려 실수하고 싶습니다. ;-)
Michael Kohl

10

vim, 5 번의 키 스트로크

일반 모드이고 텍스트가 이미 버퍼에 작성되었다고 가정합니다.

ggg?G

또는, 떨어지는 vimgolf의 규칙 :

g?GZZ

다음과 같이 터미널 명령으로 호출 할 수도 있습니다.

$ vim -c 'norm g?G' -
< your text here ...
... multiple lines if you want ...
... terminate input with ctrl+D on a blank line >

나는 후자가 8 문자의 "프로그램"으로 계산 될 것이라고 생각합니다 ( norm g?G)


norm g?Gnormal g?G8 글자 가 짧습니다 .
패트릭 오스 시티

나는 당신이 안전하게 라인 1에서 시작한다고 가정 할 수 있다고 생각합니다 gg. 파일이 열려있을 때 3 번의 키 입력을 말하고 싶습니다.
Patrick Oscity

1
vimgolf의 규칙을 사용하면 (파일을 방금 연 바닐라 Vim에서 시작하지만 저장하고 종료해야 함) 5 ( g?GZZ) 도 얻게 됩니다.
FireFly

7

C- 83 79 자

main(c,b){while((c=getchar())>=0)b=c&96,putchar(isalpha(c)?b+1+(c-b+12)%26:c);}

읽을 수있는 버전 :

#include <ctype.h>
#include <stdio.h>

int main(void)
{
    int c, base;

    while ((c = getchar()) >= 0) {
        if (isalpha(c)) {
            base = (c & 96) + 1; /* First letter of the upper or lower case. */
            c = base + (c - base + 13) % 26;
        }
        putchar(c);
    }

    return 0;
}

1
당신은 당신의 카운트에 포함 헤더를 포함하고 있습니까?
JPvdMerwe

@ JPvdMerwe : 골프 버전에 헤더를 포함하지 않았거나 필요하지 않았습니다.
Joey Adams

putchar 앞에 쉼표 연산자를 사용하여 한 쌍의 중괄호를 제거 할 수 있습니다.
Alexandru

main (c, b)를 설명해 주시겠습니까? 내가 이것을 처음 본 것입니다.
Alexandru

2
@Alexandru 대부분의 C 컴파일러는 모든 매개 변수를 사용하여 main을 지원합니다. 또한 원래 C 표준은 형식이없는 인수가 int임을 정의합니다. 따라서 실제로 int를 쓰지 않고 int를 선언하게됩니다.
Juan

7

파이썬 (117 바이트)

다음은 rot13()-method 를 피하는 Python 버전입니다 .

import sys
print"".join([chr(x/32*32+1+(x%32+12)%26if 64<x<91or 96<x<123 else x)for x in map(ord,sys.stdin.read())])

raw_input은 모든 입력이 아니라 한 줄을 반환합니다.
Alexandru

당신은 필요 import sys하고 사용 sys.stdin.read()합니다.
Alexandru

@Alexandru : 할 것
JPvdMerwe

-2 바이트를 제거하여 []목록을 생성기로 만들려면 tio.run/…
connectyourcharger

7

tr///Perl 솔루션 (39 자)으로 상용구를 다음과 -p같이 제거 할 수 있습니다 .

while(<>){y/a-zA-Z/n-za-mN-ZA-M/;print}

사용 -p(추가 스위치를 포함하여 23 자) :

perl -pe'y/a-zA-Z/n-za-mN-ZA-M/'

p에 1 개의 문자를 추가하지만 상용구를 제거하십시오!
JB

7

R, 37 바이트

example("chartr");cat(rot(scan(,"")))

example("chartr")에 대한 예제를 실행합니다. chartrrot함수 에는 ROT13기본적으로 기능 이 포함되어 있습니다 ....


5

DC ( 111 직류 자체 108)

좋아, 여기에 코드에 맞는 형식으로 가져 오는 (대부분) dc와 sed 및 od 마술이 있습니다. 입력 항목 ( echo -n MESSAGE |)을 계산하지 않으면 160 바이트입니다.

od -An -t dC|sed 's/^\ *//;s/\ \{2,3\}/\n/g'|dc -e'[13+26%]sm[65-lmx65+]su[97-lmx97+]sl[96<b64<dPc]sa[91>c]sd[123>e]sb[lux]sc[llxdd]se[ddddlaxlrx]sy[?z0<y]dsrx'

관심의 대상으로, dc 프로그램 자체는 108 바이트 길이이며 비 라이브러리 파이썬 버전보다 짧습니다. 심지어 대소 문자와 문장 부호를 유지 하고 위의 제출에서 Javascript를 능가 합니다! 내가 od의 출력을 더 잘 파싱하거나 완전히 대체하는 것이 더 좋을 경우.

편집 : 질문에 10P3 줄 을 더 절약 할 수있는 새로운 줄 을 나타내지 않는다는 점에 주목할 가치가 있습니다.

편집 2 : 입력 형식에 대한 사양이 없으므로 내 프로그램에 편리한 것으로 간주됩니다.


5

Befunge-93, 85 (그리드 : 41x3 = 123)

이것은 고대의 질문이지만, 조금 더 멋진 Befunge 답변을 게시하기 위해 그것을 부활시킬 것이라고 생각했습니다.

#v_~::" "/2%" "*-::"@"`!#v_"Z"#v`#!_1
v> "M"`2*1\-34*1+*+    1:>$!   _:"."-!#@_
>,^

여기서 테스트 할 수 있습니다 . 한 번에 하나의 문자를 입력하십시오. .문자 를 입력하면 종료됩니다 ( "."두 번째 행의 오른쪽 근처 를 수정하여 변경할 수 있음 ). 구두점뿐만 아니라 대문자 및 소문자로 작동하며 입력 제한이 없습니다.

나는 이것이 엄청나게 많은 찬사를 받거나 기대하지는 않지만 Befunge가 실제로 다른 답변보다 조금 더 잘 할 수 있다는 것이 얼마나 멋진 지 보여주고 싶었습니다 .

아마도 Befunge-98에서 더 짧게 만들 수있을 것입니다.


원하는 경우 여기에서 내 스 니펫 추가 하여 인라인 인터프리터를 가질 수 있습니다 . :)
Ingo Bürk

아직 스 니펫을 조사하지 않았습니다. 감사합니다!
카스 란

입력에 공백이 있으면 작동하지 않습니다. >$! _0이 아닌 값을 기대할 때 스택에 두 개의 0이 있기 때문에 시퀀스에서 무한 루프로 들어갑니다 .
James Holderness

4

PHP- 103 98 80 자

(str_rot13 ()을 사용하지 않음)

<?=preg_replace('#[a-zA-Z]#e','chr(($x=ord("\0"))-$x%32+1+($x%32+12)%26)',`cat`);

4

델파이, 110

var c:Char;begin repeat Read(c);Write(Chr(Ord(c)+(Ord(c in['A'..'M'])-Ord(c in['N'..'Z']))*13));until EOF;end.

var c:Char;begin repeat Read(c);Write(Chr(Ord(c)+(Ord(c in['A'..'M'])-Ord(c in['N'..'Z']))*13));until EOF;end.하나의 문자를 저장 :)
Wouter van Nifterick

@Wouter van Nifterick : 좋은 자리! 적절하게 업데이트하겠습니다
PatrickvL

4

하스켈, 100 자

a%b=([a..b]++)
main=interact$map$toEnum.((0%64$78%90$65%77$91%96$110%122$97%109$[123..])!!).fromEnum


3

자바 251 자

public class r{public static void main(String[] a){String s = a[0];for(int i=0;i<s.length();){char c=s.charAt(i++);if(c>='a'&&c<='m')c+=13;else if(c>='n'&&c<='z')c-= 13;else if(c>='A'&&c<='M')c+=13;else if(c>='A'&&c <='Z')c-=13;System.out.print(c);}}}

3

파이썬 3 (107)

좋아, 나는 지금이 질문에 대답하지 않을 것을 약속하지만, 파이썬에서 DC 답변을 이길 수밖에 없다고 느꼈다. 이것은 아마도 사람으로서 나에게 잘 반영되지 않습니다 :).

import sys;[print(x.isalpha()and chr((ord(x)&96)+1+(ord(x)%32+12)%26)or x,end='')for x in sys.stdin.read()]

3

C : 69 68 자

좋아, 나는이 스레드가 오래 죽었다는 것을 알고 있지만 Clang에서 컴파일조차하지 않는 (긴) C 솔루션을 참을 수는 없었습니다 (GCC에서는).

main(c){putchar(isalpha(c=getchar())*((c|32)<110?13:-13)+c);main();}

아마 여전히 압착 가능합니다. 확실히 압착 가능했습니다. 그리고 압착 가능할뿐만 아니라 재귀 적으로 만들 수도있었습니다.


3

05AB1E , 13 12 바이트

robbie0630 덕분에 바이트를 절약했습니다.

ADu)øJD2äRJ‡

온라인으로 사용해보십시오!

설명

ADu           # push lower-case and uppercase alphabet
   )øJ        # zip, flatten and join, producing aAbB..zZ
      D2äRJ   # split a copy in 2 pieces, reverse and join producing nNoO..mM
           ‡  # translate input by replacing members of the alphabet 
              # with the corresponding member of the rot-13 alphabet
              # implicitly display

나는 이것을 통해 달렸고 --debug, ˜이 경우에는 no-op 인 것처럼 보이고 잘라낼 수 있습니다.
로비

@ robbie0630 : 맞습니다. 왜 그런지 몰랐습니다. 감사합니다 :)
Emigna


2

자바 스크립트 1.8, 106

alert(prompt().replace(/\w/g,function(c)String.fromCharCode(c.charCodeAt()+(c.toLowerCase()<'n'?13:-13))))

자바 스크립트, 115

alert(prompt().replace(/\w/g,function(c){return String.fromCharCode(c.charCodeAt()+(c.toLowerCase()<'n'?13:-13))}))

이 솔루션은 문제의 문자가 알파벳의 전반에 있으면 13을 문자 코드에 추가하거나 후반에 있으면 13을 빼서 문제를 해결합니다.


로 교체 하여 7 자를 저장할 수 있습니다 . +(c.toLowerCase()<'n'?13:-13))-13+26*/[a-m]/i.test(c)
Jacob

2

CHIQRSX9 + , 1

R

문제에 맞는 도구를 사용해야합니다.
CHIQRSX9 +는 튜링이 완료되었으며을 사용하여 표준 채널에서 읽고 쓸 수 있습니다 C.


5
@ nyuszika7h이 질문이 작성되기 전에 언어가 발명되었으므로 유효합니다.
Johannes Kuhn

1
그래도 여전히 발명 된 것 중 하나입니다. 나 한테 바람 피운 것 같아
nyuszika7h

7
@ nyuszika7h 그리고 golfscript는 코드 골프 도전에서 승리하기 위해 발명되었습니다. 당신도 그게 바람을 피우고 있다고 생각합니까?
Johannes Kuhn

2
@Mego이 답변 이후 1 년 동안 작성된 표준을 여기에 적용하는 것은 거의 공정하지 않습니다.
손잡이


2

C, 136 바이트

나는 내 솔루션 중 어느 것이라도 여기에 게시하기에 충분하다고 생각하지는 않았지만 이것을 재미있게 만들었고 그것이 코드 골프의 관문 마약이 될 것이라고 생각했습니다.

#define z(x) c>=x&&c<x+13
#define q(w) c>=w&&c<w+13
main(c){for(;(c=getchar())>=0;putchar(z('A')||z('a')?c+13:q('M')||q('m')?c-13:c));}

4
프로그래밍 퍼즐 및 코드 골프 스택 교환에 오신 것을 환영합니다. 좋은 첫 번째 대답. 그리고 단지 기록을 위해, 우리 모두는 때때로 그런 식으로 느끼고, 당신이 만드는 것이 무엇인가가 "어딘가에"충분하다는 것을 알고 있습니다.
GamrCorps

2
PPCG에있는 모든 것은 단지 재미를위한 것입니다 (또는 가상의 인터넷 포인트). 솔루션을 만들기 위해 수행 한 작업이 "충분하지"않다고 느끼지 마십시오
cat

모든 지원에 감사드립니다. 나는 무언가를 게시하는 것이 내 머리를 기어 올리는 데 필요한 전부라고 생각합니다. 나는 더 많은 도전에 조만간 노력할 것이다.
Tormyst

2

자바 스크립트, 177 바이트

여기에는 print와 readLine의 두 가지 기능이 있다고 가정합니다.

f=String.fromCharCode;print(readLine().replace(/[a-z]/g,function(a){return f((a.charCodeAt(0)-84)%25+97);}).replace(/[A-Z]/g,function(a){return f((a.charCodeAt(0)-52)%25+65);}))

2

리스프 (LispLisp) (16,636)

죄송 해요.

((((lisp (lisp (lisp (lisp lisp)))) (lisp lisp))
  (lisp lisp))
 (((lisp (lisp (lisp (lisp lisp))))
   ((lisp (lisp (lisp lisp)))
    ((lisp (lisp (lisp (lisp lisp))))
     (((lisp (lisp (lisp (lisp lisp))))
       ((lisp (lisp (lisp lisp)))
        (((lisp (lisp (lisp (lisp lisp))))
          (((lisp (lisp (lisp (lisp lisp))))
            ((lisp (lisp (lisp lisp)))
             (lisp (lisp (lisp (lisp lisp))))))
           (((lisp (lisp (lisp (lisp lisp))))
             ((lisp (lisp (lisp lisp)))
              (lisp (lisp (lisp lisp)))))
            (((lisp (lisp (lisp (lisp lisp))))
              ((lisp (lisp (lisp lisp)))
               (lisp (lisp (lisp (lisp lisp))))))
             (((lisp (lisp (lisp (lisp lisp))))
               ((lisp (lisp (lisp lisp)))
                ((lisp (lisp (lisp (lisp lisp)))) (lisp lisp))))
              (lisp (lisp (lisp lisp))))))))
         ((lisp (lisp (lisp lisp)))
          (lisp (lisp (lisp lisp)))))))
      (((lisp (lisp (lisp (lisp lisp))))
        ((lisp (lisp (lisp lisp)))
         (((lisp (lisp (lisp (lisp lisp))))
           (((lisp (lisp (lisp (lisp lisp))))
             ((lisp (lisp (lisp lisp)))
              (((lisp (lisp (lisp (lisp lisp)))) (lisp lisp))
               ((lisp (lisp (lisp lisp)))
                (lisp (lisp (lisp lisp)))))))
            (((lisp (lisp (lisp (lisp lisp))))
              (((lisp (lisp (lisp (lisp lisp)))) (lisp lisp))
               ((lisp (lisp (lisp lisp)))
                (((lisp (lisp (lisp (lisp lisp)))) (lisp lisp))
                 ((lisp (lisp (lisp lisp)))
                  ((lisp (lisp (lisp lisp))) (lisp lisp)))))))
             ((lisp (lisp (lisp lisp)))
              (((((lisp (lisp (lisp (lisp lisp))))
                  (((lisp (lisp (lisp (lisp lisp))))
                    ((lisp (lisp (lisp lisp)))
                     (lisp (lisp (lisp (lisp lisp))))))
                   (lisp (lisp (lisp lisp)))))
                 ((((lisp (lisp (lisp (lisp lisp))))
                    ((lisp (lisp (lisp (lisp lisp))))
                     (((lisp (lisp (lisp (lisp lisp))))
                       ((lisp (lisp (lisp lisp)))
                        (lisp (lisp (lisp (lisp lisp))))))
                      (lisp (lisp (lisp lisp))))))
                   (((lisp (lisp (lisp (lisp lisp)))) (lisp lisp))
                    (lisp lisp)))
                  (((lisp (lisp (lisp (lisp lisp))))
                    (((lisp (lisp (lisp (lisp lisp))))
                      ((lisp (lisp (lisp lisp)))
                       (lisp (lisp (lisp (lisp lisp))))))
                     (lisp (lisp (lisp lisp)))))
                   (lisp lisp))))
                (((lisp (lisp (lisp (lisp lisp))))
                  ((lisp (lisp (lisp lisp)))
                   ((lisp (lisp (lisp (lisp lisp))))
                    (((lisp (lisp (lisp (lisp lisp)))) (lisp lisp))
                     ((lisp (lisp (lisp lisp))) (lisp lisp))))))
                 (lisp (lisp (lisp lisp)))))
               ((((lisp (lisp (lisp (lisp lisp)))) (lisp lisp))
                 (((lisp (lisp (lisp (lisp lisp))))
                   ((lisp (lisp (lisp lisp)))
                    ((((lisp (lisp (lisp (lisp lisp))))
                       (((lisp (lisp (lisp (lisp lisp))))
                         ((lisp (lisp (lisp lisp)))
                          (lisp (lisp (lisp (lisp lisp))))))
                        (lisp (lisp (lisp lisp)))))
                      (lisp lisp))
                     ((((lisp (lisp (lisp (lisp lisp))))
                        (((lisp (lisp (lisp (lisp lisp))))
                          ((lisp (lisp (lisp lisp)))
                           (lisp (lisp (lisp (lisp lisp))))))
                         (lisp (lisp (lisp lisp)))))
                       (((lisp (lisp (lisp (lisp lisp))))
                         (((lisp (lisp (lisp (lisp lisp))))
                           ((lisp (lisp (lisp lisp)))
                            (lisp (lisp (lisp (lisp lisp))))))
                          (lisp (lisp (lisp lisp)))))
                        (lisp lisp)))
                      (((lisp (lisp (lisp (lisp lisp))))
                        ((lisp (lisp (lisp lisp)))
                         ((lisp (lisp (lisp (lisp lisp))))
                          (((lisp (lisp (lisp (lisp lisp)))) (lisp lisp))
                           ((lisp (lisp (lisp lisp))) (lisp lisp))))))
                       (lisp (lisp (lisp lisp))))))))
                  (((lisp (lisp (lisp (lisp lisp)))) (lisp lisp))
                   ((lisp (lisp (lisp lisp)))
                    ((((lisp (lisp (lisp (lisp lisp)))) (lisp lisp))
                      (lisp lisp))
                     (((lisp (lisp (lisp (lisp lisp))))
                       ((lisp (lisp (lisp lisp)))
                        (((lisp (lisp (lisp (lisp lisp))))
                          ((lisp (lisp (lisp lisp)))
                           ((lisp (lisp (lisp (lisp lisp))))
                            (((lisp (lisp (lisp (lisp lisp)))) (lisp lisp))
                             ((lisp (lisp (lisp lisp))) (lisp lisp))))))
                         (lisp (lisp (lisp lisp))))))
                      (((lisp (lisp (lisp (lisp lisp)))) (lisp lisp))
                       (lisp lisp))))))))
                (((lisp (lisp (lisp (lisp lisp))))
                  ((lisp (lisp (lisp lisp)))
                   ((((lisp (lisp (lisp (lisp lisp))))
                      (((lisp (lisp (lisp (lisp lisp))))
                        ((lisp (lisp (lisp lisp)))
                         (lisp (lisp (lisp (lisp lisp))))))
                       (lisp (lisp (lisp lisp)))))
                     (((lisp (lisp (lisp (lisp lisp))))
                       ((lisp (lisp (lisp lisp)))
                        (((lisp (lisp (lisp (lisp lisp))))
                          (((lisp (lisp (lisp (lisp lisp))))
                            ((lisp (lisp (lisp lisp)))
                             (lisp (lisp (lisp (lisp lisp))))))
                           (lisp (lisp (lisp lisp)))))
                         (((lisp (lisp (lisp (lisp lisp))))
                           (((lisp (lisp (lisp (lisp lisp))))
                             ((lisp (lisp (lisp lisp)))
                              (lisp (lisp (lisp (lisp lisp))))))
                            (lisp (lisp (lisp lisp)))))
                          (lisp lisp)))))
                      ((((lisp (lisp (lisp (lisp lisp)))) (lisp lisp))
                        (lisp lisp))
                       (((lisp (lisp (lisp (lisp lisp))))
                         (((lisp (lisp (lisp (lisp lisp))))
                           ((lisp (lisp (lisp lisp)))
                            (lisp (lisp (lisp (lisp lisp))))))
                          (lisp (lisp (lisp lisp)))))
                        (lisp lisp)))))
                    (((lisp (lisp (lisp (lisp lisp))))
                      ((lisp (lisp (lisp lisp)))
                       ((lisp (lisp (lisp (lisp lisp))))
                        (((lisp (lisp (lisp (lisp lisp)))) (lisp lisp))
                         ((lisp (lisp (lisp lisp)))
                          ((((lisp (lisp (lisp (lisp lisp))))
                             (((lisp (lisp (lisp (lisp lisp))))
                               ((lisp (lisp (lisp lisp)))
                                (lisp (lisp (lisp (lisp lisp))))))
                              (lisp (lisp (lisp lisp)))))
                            (((lisp (lisp (lisp (lisp lisp))))
                              ((lisp (lisp (lisp lisp)))
                               (((lisp (lisp (lisp (lisp lisp))))
                                 (((lisp (lisp (lisp (lisp lisp))))
                                   ((lisp (lisp (lisp lisp)))
                                    (lisp (lisp (lisp (lisp lisp))))))
                                  (lisp (lisp (lisp lisp)))))
                                (((lisp (lisp (lisp (lisp lisp))))
                                  (((lisp (lisp (lisp (lisp lisp))))
                                    ((lisp (lisp (lisp lisp)))
                                     (lisp (lisp (lisp (lisp lisp))))))
                                   (lisp (lisp (lisp lisp)))))
                                 (lisp lisp)))))
                             ((((lisp (lisp (lisp (lisp lisp)))) (lisp lisp))
                               (lisp lisp))
                              (((lisp (lisp (lisp (lisp lisp))))
                                (((lisp (lisp (lisp (lisp lisp))))
                                  ((lisp (lisp (lisp lisp)))
                                   (lisp (lisp (lisp (lisp lisp))))))
                                 (lisp (lisp (lisp lisp)))))
                               (lisp lisp)))))
                           ((lisp (lisp (lisp (lisp lisp))))
                            (((lisp (lisp (lisp (lisp lisp))))
                              ((lisp (lisp (lisp lisp)))
                               (lisp (lisp (lisp (lisp lisp))))))
                             (lisp (lisp (lisp lisp)))))))))))
                     (lisp (lisp (lisp lisp)))))))
                 ((((lisp (lisp (lisp (lisp lisp))))
                    (((lisp (lisp (lisp (lisp lisp))))
                      ((lisp (lisp (lisp lisp)))
                       (lisp (lisp (lisp (lisp lisp))))))
                     (lisp (lisp (lisp lisp)))))
                   (((lisp (lisp (lisp (lisp lisp))))
                     ((lisp (lisp (lisp lisp)))
                      (((lisp (lisp (lisp (lisp lisp))))
                        (((lisp (lisp (lisp (lisp lisp))))
                          ((lisp (lisp (lisp lisp)))
                           (lisp (lisp (lisp (lisp lisp))))))
                         (lisp (lisp (lisp lisp)))))
                       (((lisp (lisp (lisp (lisp lisp))))
                         (((lisp (lisp (lisp (lisp lisp))))
                           ((lisp (lisp (lisp lisp)))
                            (lisp (lisp (lisp (lisp lisp))))))
                          (lisp (lisp (lisp lisp)))))
                        (lisp lisp)))))
                    ((((lisp (lisp (lisp (lisp lisp)))) (lisp lisp))
                      (lisp lisp))
                     (((lisp (lisp (lisp (lisp lisp))))
                       (((lisp (lisp (lisp (lisp lisp))))
                         ((lisp (lisp (lisp lisp)))
                          (lisp (lisp (lisp (lisp lisp))))))
                        (lisp (lisp (lisp lisp)))))
                      (lisp lisp)))))
                  (((lisp (lisp (lisp (lisp lisp))))
                    ((lisp (lisp (lisp lisp)))
                     ((lisp (lisp (lisp (lisp lisp))))
                      (((lisp (lisp (lisp (lisp lisp)))) (lisp lisp))
                       ((lisp (lisp (lisp lisp)))
                        (((lisp (lisp (lisp (lisp lisp))))
                          ((lisp (lisp (lisp lisp)))
                           (((lisp (lisp (lisp (lisp lisp)))) (lisp lisp))
                            ((lisp (lisp (lisp lisp)))
                             (lisp (lisp (lisp lisp)))))))
                         (((lisp (lisp (lisp (lisp lisp))))
                           (((lisp (lisp (lisp (lisp lisp)))) (lisp lisp))
                            ((lisp (lisp (lisp lisp)))
                             (((lisp (lisp (lisp (lisp lisp)))) (lisp lisp))
                              ((lisp (lisp (lisp lisp)))
                               ((lisp (lisp (lisp lisp))) (lisp lisp)))))))
                          ((lisp (lisp (lisp lisp)))
                           (((((lisp (lisp (lisp (lisp lisp))))
                               (((lisp (lisp (lisp (lisp lisp))))
                                 ((lisp (lisp (lisp lisp)))
                                  (lisp (lisp (lisp (lisp lisp))))))
                                (lisp (lisp (lisp lisp)))))
                              (((lisp (lisp (lisp (lisp lisp))))
                                ((lisp (lisp (lisp lisp)))
                                 (((lisp (lisp (lisp (lisp lisp))))
                                   (((lisp (lisp (lisp (lisp lisp))))
                                     ((lisp (lisp (lisp lisp)))
                                      (lisp (lisp (lisp (lisp lisp))))))
                                    (lisp (lisp (lisp lisp)))))
                                  (((lisp (lisp (lisp (lisp lisp))))
                                    (((lisp (lisp (lisp (lisp lisp))))
                                      ((lisp (lisp (lisp lisp)))
                                       (lisp (lisp (lisp (lisp lisp))))))
                                     (lisp (lisp (lisp lisp)))))
                                   (lisp lisp)))))
                               ((((lisp (lisp (lisp (lisp lisp)))) (lisp lisp))
                                 (lisp lisp))
                                (((lisp (lisp (lisp (lisp lisp))))
                                  (((lisp (lisp (lisp (lisp lisp))))
                                    ((lisp (lisp (lisp lisp)))
                                     (lisp (lisp (lisp (lisp lisp))))))
                                   (lisp (lisp (lisp lisp)))))
                                 (lisp lisp)))))
                             (((lisp (lisp (lisp (lisp lisp))))
                               ((lisp (lisp (lisp lisp)))
                                ((lisp (lisp (lisp (lisp lisp))))
                                 (((lisp (lisp (lisp (lisp lisp))))
                                   (lisp lisp))
                                  ((lisp (lisp (lisp lisp))) (lisp lisp))))))
                              (lisp (lisp (lisp lisp)))))
                            (((((lisp (lisp (lisp (lisp lisp)))) (lisp lisp))
                               (lisp lisp))
                              (((lisp (lisp (lisp (lisp lisp))))
                                ((lisp (lisp (lisp lisp)))
                                 ((lisp (lisp (lisp (lisp lisp))))
                                  (((lisp (lisp (lisp (lisp lisp))))
                                    ((lisp (lisp (lisp lisp)))
                                     (lisp (lisp (lisp (lisp lisp))))))
                                   (((lisp (lisp (lisp (lisp lisp))))
                                     ((lisp (lisp (lisp lisp)))
                                      ((lisp (lisp (lisp (lisp lisp))))
                                       (lisp lisp))))
                                    (lisp (lisp (lisp lisp))))))))
                               (((lisp (lisp (lisp (lisp lisp))))
                                 ((lisp (lisp (lisp lisp)))
                                  ((lisp (lisp (lisp (lisp lisp))))
                                   ((lisp (lisp (lisp lisp)))
                                    (lisp (lisp (lisp lisp)))))))
                                (((lisp (lisp (lisp (lisp lisp))))
                                  (((lisp (lisp (lisp (lisp lisp))))
                                    ((lisp (lisp (lisp lisp)))
                                     (lisp (lisp (lisp (lisp lisp))))))
                                   (((lisp (lisp (lisp (lisp lisp))))
                                     ((lisp (lisp (lisp lisp)))
                                      (lisp (lisp (lisp lisp)))))
                                    (((lisp (lisp (lisp (lisp lisp))))
                                      (lisp lisp))
                                     (lisp lisp)))))
                                 ((lisp (lisp (lisp lisp)))
                                  ((lisp (lisp (lisp (lisp lisp))))
                                   (((lisp (lisp (lisp (lisp lisp))))
                                     ((lisp (lisp (lisp lisp)))
                                      (lisp (lisp (lisp (lisp lisp))))))
                                    (lisp (lisp (lisp lisp))))))))))
                             ((lisp (lisp (lisp lisp))) (lisp lisp))))))))))))
                   (lisp (lisp (lisp lisp))))))))))))
          (lisp lisp))))
       (((lisp (lisp (lisp (lisp lisp)))) (lisp lisp))
        ((lisp (lisp (lisp lisp)))
         (lisp (lisp (lisp lisp))))))))))
  (((lisp (lisp (lisp (lisp lisp))))
    (((lisp (lisp (lisp (lisp lisp))))
      ((lisp (lisp (lisp lisp)))
       (lisp (lisp (lisp (lisp lisp))))))
     (((lisp (lisp (lisp (lisp lisp))))
       ((lisp (lisp (lisp lisp)))
        (lisp (lisp (lisp lisp)))))
      (((lisp (lisp (lisp (lisp lisp)))) (lisp lisp))
       (lisp lisp)))))
   ((lisp (lisp (lisp lisp)))
    (((lisp (lisp (lisp (lisp lisp)))) (lisp lisp))
     ((lisp (lisp (lisp lisp)))
      ((lisp (lisp (lisp lisp))) (lisp lisp))))))))

이것이 실제 언어입니까? 그렇다면 연결해 주시겠습니까?
조 왕


@BenjaminUrquhart 예, Lisp는 언어입니다. 그러나 Lisplisp, 나는 증거가 없다는 것을 발견했다
Jo King


1
다음은 LazyK의 번역기입니다 (SKI 조합기 미적분의 간단한 구현). gist.github.com/SYZYGY-DEV333/d74ca36b9a4c504b25c0a2380203c98d
SYZYGY-DEV 333

2

8086 머신 코드, 27 바이트

미 조립 :

        STLOOP:
AC          LODSB               ; load byte from SI into AL, advance SI 
8B D0       MOV  DX, AX         ; save original char in DL 
0C 20       OR   AL, 020H       ; lowercase the char 
3C 61       CMP  AL, 'a'        ; is char less than 'a'? 
7C 0F       JL   STCHR          ; if so, do not rotate 
3C 7A       CMP  AL, 'z'        ; is char greater than 'z'? 
7F 0B       JG   STCHR          ; if so, do not rotate 
B6 0D       MOV  DH, 'n'-'a'    ; add or subtract 13 
3C 6E       CMP  AL, 'n'        ; is char less than 'n'? 
7C 02       JL   ADD13          ; if so, add positive 13 
F6 DE       NEG  DH             ; otherwise add -13 
        ADD13:
92          XCHG AX, DX         ; original char back to AL 
02 C4       ADD  AL, AH         ; add 13 or -13 to original char
        STCHR:
AA          STOSB               ; store converted byte into DI, advance DI 
E2 E5       LOOP STLOOP         ; continue loop through string

에서 입력 문자열 SI의 길이 CX. 에 출력 문자열 버퍼 DI.

IBM PC DOS 프로그램 출력을 테스트하십시오.

여기에 이미지 설명을 입력하십시오

R13.COM 테스트 프로그램 (PC DOS)을 다운로드 하십시오 .


1

하스켈-112 자

r l=drop 13 l++take 13 l
t=['a'..'z']
s=['A'..'Z']
main=interact$map(\x->maybe x id$lookup x$zip(t++s)$r t++r s)


1

TCL, 74 문자

package require [set c tcl::transform::rot];$c 13 stdin;fcopy stdin stdout
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.