ROT-13 standart girişi dönüştürür


34

Zorluk: İsteğe bağlı uzunluktaki bir girişi okumak ve girişin ROT13'ünü üretmek . AZ dışındaki tüm karakterler çıktıya kopyalanmalı ve mümkünse büyük harfleri korunmalıdır.

Standart akışları okuyabilen ve yazabilen herhangi bir dil adil bir oyundur.


3
Sorun bir etiket olmamalı, ben de ROT13'ü kaldırdım, sadece bir FYI
Nick Berardi

2
A-Za-z (hem büyük hem de küçük harf saymak için) demek istemiyor musunuz?
Joey Adams

5
@ Chris Jester-Young, wikipedia'da bu kategoriye ait. Şifrelemenin bir parçası, en zoru değil. Neyse, artık bu siteyi izlemiyorum. Topluluk beni hayal kırıklığına uğrattı. Üzgünüm. GL HF.
Nakilon

17
Diyor xor şifreleme değil demek gibi bir a + b matematik değildir .
Nakilon

3
Etiketler, soruları kategorilere ayırmak ve benzer soruları aramaya yardımcı olmak için kullanılır. Özellikle kriptografi etiketi (Yunanca kryptós, "gizli, gizli"; graphein, "yazma") şifreleme ve şifre çözme problemleri içindir. Tüm şifreleme ve şifre çözme, yalnızca modern uygulamalar için güvenli olanları değil.
Angs

Yanıtlar:


25

Bash, 23 bayt

Kanonik 23 karakterli cevap:

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

1
Şu an tr A-za-m N-ZA-z
bash'a giremiyorum

2
@ Nabb: Seni görmek güzel, GolfScript-meister! : -DI, ​​buradaki çözümünüzün "AZ dışındaki tüm karakterlerin çıktıya kopyalanması gerektiği" şartını bozacağını düşünüyorum.
Chris Jester-Young

@ Chris: Evet, haklı gibi görünüyorsun.
Nabb

@ Nabb: Hayır, bana göre sanki yanılmış gibi görünüyor. Yoksa bir örnek gösterebilir misin?
kullanıcı bilinmeyen

2
@ user unknown: [\\]^_`Girdiyi yazın. O kadar geri gelecektir NOPQRSziyade [\\]^_`sürümünde, en azından trben var. (Bunlar ASCII'de Zve arasında kalan altı karakterdir a. Açıkçası, diğer tüm karakterler düzgün çalışacaktır.)
Chris Jester-Young

20

Bash - 5 karakter

rot13

 


18
Şu ana kadar iki aşağı oy (yorum yok), ancak soru için aşağı oy kullanmıyor. Bunun önemsiz kodlayıcılara sormanın sorun değil, önemsiz yanıt vermemek olduğunu farz ediyorum. Zor kodlayıcılar lütfen!
gnibbler

8
Hangi bash versiyonu? Yerleşik bir rot yok13. bash --version GNU bash, Version 4.0.33(1)-release (i486-pc-linux-gnu)
kullanıcı bilinmeyen

12
Ben bu gönderilen olurdu rot13 - 0 chars...;)
Boothby

2
arkadaşım Bash değil coreutils
TheDoctor

3
erm ... hayır. benim bash (Ubuntu 13.10) diyor ki "komut bulunamadı, bu programı kurabilirsiniz sudo apt-get install bsdgames"

17

Python 2,34 bayt

print raw_input().encode('rot13')

1
-1 Ben yerleşik bir kütüphanede kullandığınızı aldatmak bence.
Glenn Nelson

16
Katıldığım her golf kodunda onları kullandım ... Ayrıca python'un standart lib'i de aldatıyorsa, tr değil mi?
Juan

3
@Anon Her durumda, sadece görmezden geldiğiniz bir cevaptır .. Hedef dışı değildir, OP ve topluluk tarafından belirlenen herhangi bir kural yoktur. Elbette, belki benimki, kıçı tekmeleyen tr'i kullananlar gibi ödüllü bir çözüm değildir. Ama bu bir şaka değil, sayımı azaltmak için python'un gücünden yararlanıyorum, tıpkı diğerlerinin yapacağı gibi.
Juan

2
@Glenn: Aksine, böyle söyleyen bir kod-golf olayı görmedim. Codegolf.com, golf.shinh.org veya SPOJ SHORTEN da.
Hallvabo

9
@Glenn, kütüphane işlevlerinin adil bir oyun olduğunu düşünüyorum. Kimsenin kütüphanesinde olmamak ya da özellikle dışlamak için yeterince ilginç olmak golf sorusuna kalmış.
gnibbler

15

Befunge - 7x30 = 210 6x26 = 156 karakter

Hem küçük hem de büyük harfleri destekleyen ve sınırsız girişi desteklemesi gereken yeni akış sürümü.

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

Eski versiyon

Bu, değerleri kendi kaynak kodunda saklar. Saklanan değerleri aldığınız sırayla çıkarmanın ve denemenin ne kadar korkunç olduğunu gösterir. Sadece küçük harf karakterleri destekler.

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

Bunun ne gibi sınırlamaları olduğunu tam olarak bilmiyorum, http://www.quirkster.com/iano/js/befunge.html adresini kullanarak büyük girdilerle kırıldığı anlaşılıyor.


Satırların sonundaki boşlukları kaldırabilirsiniz.
Zacharı

10

Ruby - 60 57 38 37 karakter

Düzenleme: Ve sadece fark edildi Ruby dizelerinin bir trmetodu var.

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

Ölçek

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

verir:

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.

Sonra boşluğa ihtiyacınız yok putsve 'Az' 'A-Za-z' için bir kısayol
Ventero

1
@Ventro: Teşekkürler, biraz testten sonra göründüğü gibi 'A-z'aslında 'A-Z[\]^_bir-z ' , damn ascii having characters between Z` ve a.
Nemo157

1
Esasen aynı ama 35 karakter puts gets.tr'A-Za-z','N-ZA-Mn-za-m'.
Michael Kohl

@Michael: getsSadece ilk satırı döndürür, EOF'a kadar $ <. Soru, girdilerin yeni satırlar içerip içeremeyeceği ile ilgili hiçbir şey söylemiyor, bu yüzden dikkatli olduğum için yanıldım.
Nemo157

Yeterince adil, ancak egzersiz şartname beri sadece ben kısa kısa olmasının yanında oldukça, err ediyorum "keyfi uzunluğu" sözü ancak satırbaşıyla hakkında hiçbir şey söylemedi codegolf ;-)
Michael Kohl

10

vim, 5 tuş vuruşlarını

Normal mod varsa ve metnin zaten arabellekte yazılı olduğunu varsayalım:

ggg?G

Ya da yanıltıcı vimgolfun sözleşmelerini:

g?GZZ

Bunu bir terminal komutu olarak da çağırabilirsiniz:

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

Sanırım ikincisi 8 karakterden oluşan bir program olarak sayılır ( norm g?G).


norm g?GBunun için kısa normal g?G8 karakter yapar.
Patrick Oscity,

Sanırım 1. satırdan başladığınızı kabul edersiniz, böylece ilk ggbırakılabilir. Dosya açıkken 3 tuş vuruşunu söyleyebilirim.
Patrick Oscity,

1
Vimgolf'un kurallarını kullanırsak (dosyayı yeni açmış olan vanilyalı bir vim ile başlarsınız, ancak kaydetmeniz ve çıkmanız gerekir) ayrıca 5 ( g?GZZ) alırız .
FireFly

7

C - 83 79 karakter

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

Okunabilir sürüm:

#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
Sayınıza eklediğiniz başlıkları dahil ediyor musunuz?
JPvdMerwe

@JPvdMerwe: Golf versiyonuna herhangi bir başlık eklemedim ya da ihtiyacım olmadı.
Joey Adams

Koma operatörünü putchar'dan önce, bir çift teli çıkarmak için kullanabilirsiniz.
Alexandru

Ana (c, b) 'yi açıklayabilir misiniz? Bunu ilk gördüğümde.
Alexandru

2
@Alexandru çoğu C derleyicisi herhangi bir parametreyle ana desteği verir. Ayrıca, orijinal C standardı türü olmayan bir argümanın bir int olduğunu tanımlar. Böylece int yazmadan ints edebileceksiniz.
Juan

7

Python (117 bayt)

İşte rot13()-method'u önleyen bir Python versiyonu .

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 tüm girdilere değil bir satır döndürür.
Alexandru

ihtiyacınız import sysve kullanmanız gerekir sys.stdin.read().
Alexandru

@Alexandru: yapacak
JPvdMerwe

[]Listeyi bir jeneratör haline getirmek için ortadan kaldırırsanız -2 bayt : tio.run/…
connectyourcharger

7

tr///Perl (39 karakter) çözüm, kazan plakası ile kaldırılabilir -p:

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

Kullanarak -p(ekstra anahtar dahil 23 karakter):

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

P için 1 karakter ekleyin, ancak lütfen kazan plakasını çıkarın!
JB,

7

R, 37 bayt

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

example("chartr")varsayılan olarak işlevini chartriçeren örnekleri çalıştırır ...rotROT13


5

DC ( DC'nin kendisi için 111 108)

Tamam, burada (çoğunlukla) dc'de ve kod için doğru formata getirmek için biraz sed ve od'da. Girilen şeyi ( echo -n MESSAGE |) saymazsanız 160 bayttır:

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'

Bir ilgi alanı olarak, dc programının kendisi kütüphane dışı python versiyonundan daha kısa , sadece 108 byte uzunluğundadır. Davayı ve noktalama işaretlerini bile korur ve yukarıdaki başvuruda Javascript'i yener ! Keşke od'un çıktısını daha iyi çözümleyebilseydim, ya da daha iyisi de olsa onu tamamen değiştirebilirim.

EDIT: Sorunun 10Pbana üç bayttan tasarruf sağlayan yeni bir satır göstermediğine dikkat etmek gerekir.

DÜZENLEME 2: Girişin formatı için spesifikasyon yoktur, bu yüzden programım için uygun bir şekilde alındığını kabul ediyorum: P


5

Befunge-93, 85 (ızgara: 41x3 = 123)

Bu eski bir soru, ancak biraz daha güzel bir Befunge cevabı göndermeyi canlandırdığımı düşündüm.

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

Burada test edebilirsiniz . Bir seferde tek bir karakter girin; .karakter girdikten sonra sona erer (bunu "."ikinci sıranın sağ tarafına yakın olarak değiştirerek değiştirebilirsiniz ). Büyük ve küçük harf, noktalama işaretleri ve giriş sınırlaması olmadan çalışır.

Bunun bir ton fazla oy almasını beklemiyorum ya da başka bir şey almayı beklemiyorum, ama sadece Befunge'nin gerçekten ne kadar harika olduğunu diğer cevabından biraz daha iyi yapabileceğini göstermek istedim .

Befunge-98’de daha da kısaltabilirim.


Sen benim parçacığını ekleyebilirsiniz buradan isterseniz, bir satır içi tercüman. :)
Ingo Bürk

Ooh, henüz parçacıkları henüz soruşturmadım. Bir göz atacağım, teşekkürler!
Kasran

Girişte boşluk varsa bu işe yaramaz. >$! _Sırada olmayan bir değer beklerken, o noktada yığında iki tane sıfır bulunduğundan, dizideki sonsuz bir döngüye girer .
James Holderness,

4

PHP - 103 98 80 karakter

(str_rot13 () kullanmıyor)

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

4

Delphi, 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.bir karakter kaydeder :)
Wouter van Nifterick 13:11

@Wouter van Nifterick: İyi nokta! Buna göre güncelleyeceğim
PatrickvL

4

Haskell, 100 karakter

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


3

Java 251 karakter

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

Piton 3 (107)

Tamam, şimdi bu soruyu cevaplamayı bırakacağına söz veriyorum, ancak Python'daki DC cevabını yenmek zorunda kaldım. Bu muhtemelen bana kişi olarak kötü yansıyor :).

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 karakter

Tamam, bu iş parçacığının uzun ölü olduğunu biliyorum, ama Clang'da bile derlemeyen (ama GCC'de) (uzun) C-çözümüne dayanamıyorum.

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

Muhtemelen neredeyse hala sıkılabilir. Kesinlikle sıkılabilirdi. Ve sadece sıkılabilir değildi, özyinelemeli hale getirmek de mümkündü.


3

05AB1E , 13 12 bayt

Robbie0630 sayesinde bir bayt kaydedildi

ADu)øJD2äRJ‡

Çevrimiçi deneyin!

açıklama

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

Ben bununla koştum --debugve ˜bu durumda no-op yok gibi görünüyor ve kesilebilir.
Robbie

@ robbie0630: Doğru. Neden bu kadar
içindeyim bilmiyorum


2

JavaScript 1.8, 106

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

JavaScript, 115

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

Bu çözüm, söz konusu karakter alfabenin ilk yarısındaysa karakter koduna 13 ekleyerek veya ikinci yarıda ise 13 çıkarılarak sorunu çözer.


Sen kaydedebilir 7 değiştirerek karakterleri +(c.toLowerCase()<'n'?13:-13))ile -13+26*/[a-m]/i.test(c).
Yakup

2

CHIQRSX9 + , 1

R

Sadece problem için doğru aleti kullanmalısın.
CHIQRSX9 + Turing tamamlandı ve ile standart kanallardan okuyabilir ve yazabilir C.


5
@ nyuszika7h Bu soru yazılmadan önce dil icat edildi, bu yüzden geçerli.
Johannes Kuhn

1
Yine de hala icat ettiği şeylerden biri. Beni aldatıyor gibi görünüyor.
nyuszika7h

7
@ nyuszika7h Golfscript kod golf mücadelesinde kazanmak için icat edildi. Sizce bu da hile yapıyor mu?
Johannes Kuhn

2
@Mego Bu standartları, bu cevaptan bir yıl sonra yazıldığı zaman burada uygulamak pek adil değildir.
Doorknob


2

C, 136 bayt

Hiçbir çözümümün burada yayınlanacak kadar iyi olmadığını hiç hissetmemiştim, ancak bunu eğlenmek için yaptım ve kod golfüne benim geçit ilacım olacağını düşündüm.

#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
Programming Puzzles ve Code Golf Stack Exchange'e hoş geldiniz. Harika ilk cevap. Ve sadece kayıt için hepimiz bazen böyle hissederiz, sadece yarattığınız her şeyin bir yerde "yeterince iyi" olduğunu bilirsiniz.
GamrCorps

2
Buradaki her şey PPCG'de sadece eğlence amaçlıdır (veya hayali internet noktaları) - lütfen, bir çözüm üretmek için yaptığınız işin "yeterince iyi" olmadığını
kedi

Tüm destek için teşekkürler. Sanırım bir şeyler yayınlamak kafamın vitrinde olması için gereken tek şeydi. Yakında bu zorlukların çoğunda elimi deneyeceğim.
Tormyst

2

Javascript, 177 bayt

Bu, iki işlev olduğunu varsayar, print ve 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)

Üzgünüm.

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

Bu bir uygulama ile gerçek bir dil midir? Eğer öyleyse, lütfen bağlantı verebilir misiniz?
Jo King,


@BenjaminUrquhart Evet, Lisp bir dildir. Ancak Lisplisp, elimde kanıt bulunmadığını tespit ettim
Jo King


1
İşte LazyK için bir tercüman (Kendisi sadece SKI Combinator Calculus'un bir uygulaması). gist.github.com/SYZYGY-DEV333/d74ca36b9a4c504b25c0a2380203c98d
SYZYGY-DEV 333

2

8086 Makine Kodu, 27 bayt

unassembled:

        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

Girdi dizgisi SI, uzunluğu gir CX. Konumunda çıkış dizesi arabelleği DI.

IBM PC DOS program çıktısını test edin:

görüntü tanımını buraya girin

İndir R13.COM test programı (PC DOS).


1

Haskell - 112 karakter

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 karakter

package require [set c tcl::transform::rot];$c 13 stdin;fcopy stdin stdout
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.