Tamamlayıcı kedi


24

Amaç 64 karakterden uzun olmayan, isteğe bağlı bir metin dizisi çıkaran (STDOUT veya en yakın alternatife) tam bir program yazın. Yeterince basit, değil mi? Eh, işte mandal: Önceki cevabın çıktısında mevcut olan karakterleri kullanamazsınız. Bu doğru, hiçbiri .

Böylece, toplam üç gün için son cevap olmaya çalışıyorsunuz. Yani, sorunuzu gönderdikten sonraki 72 saat içinde soruyu kimsenin cevaplamasını istemiyorsunuz.

Bazı kurallar

  • Cevabınız (ve çıktı) yalnızca yazdırılabilir ASCII karakterleri, yeni satırlar (satırbaşları dahil) ve sekmeler içerebilir.
  • Telesekreterinizin çıktısı başka bir telesekreterin çıktısı ile aynı olmayabilir. İki çıktı aynı ancak eğer aynı karakterleri kullanıyorlarsa aynıdır.
  • Bu meydan okuma için özel olarak oluşturulmamış herhangi bir dili, meydan okumadan sonra yapılmış olsa bile kullanabilirsiniz. (Bu dil, elbette, test edilebilir olmalıdır.)
  • Daha önce kullanılmış herhangi bir dili kullanamazsınız.
  • Girişiniz yorum içermeyebilir. Elbette, ekstra bir yorumlanmış program da sağlayabilirsiniz.
  • Sen olmayabilir arka arkaya iki kez cevap.
  • Programınız en az 1 bayt olmalıdır.

Giriş formatı

Cevabınız genellikle aşağıdaki gibi görünmelidir:

# {Language}
Uses: `characters present in the output`

Does not use: `characters used in the previous output` from [previous submission, language](link-to-previous-submission]

    {program}

Outputs:

    {output}

Cevabınız ile bir açıklama takdir edilmektedir.


3
Ne istendiği konusunda kafam karıştı. Herhangi bir <= 64 karakter dizisi yazdırmam gerekiyor ve en son gönderimin çıktısındaki karakterleri kullanamıyorum?
Lynn,

1
@ Mauris Evet, bu doğru.
Conor O'Brien,

3
Ah tamam; “karakter alanı” ile ilgili bit IMO'yu gerçekten karıştırıyor. Bu terimin bir anlamı yok ... Belki de tekrar yazmalısın?
Lynn,

1
@question_asker Kimse seninkini takip edecek bir cevap bulamazsa, mücadeleyi kazan (ve yeşil onay işaretini al). Örneğin, yazdırılabilir her ASCII karakterini çıkaran bir program yazdıysam, takip etmek imkansız olurdu ( boş program için çıktı üreten sinir bozucu dilleri yok sayarak ).
ThisSuitIsBlackNot

1
@question_asker Kodunuz, önceki cevapların çıktısındaki karakterlerden hiçbirini içeremez ; Çıktı olarak aynı karakter setini kullanamaz herhangi bir önceki çıkış. İlk yanıt için kod ise foove çıkışları barsonraki cevap için kod içeremez, b, a, veya r; hayır sonradan cevap olabilir çıkış abr, arb, bar, bra, rab, veya rba. (Evet, bunun çok kafa karıştırıcı olduğuna katılıyorum.)
ThisSuitIsBlackNot

Yanıtlar:


2

Yakut

$><<'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" '

Kullanmaz abcdefghijklmnopqrstuvwxyz{}\~_^[]|`dan önce verilen bir yanıta .

ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"Bir boşluk ve bir satırsonu, yazdırır ve dolayısıyla kullanır .


5

Pyth

Kullanım Alanları: ()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefg.

Kullanmaz: !"#$%&'()*+,-./0123456789:;<=>?@[\]^_`abcdefghijklnsm{|}~den Octave önceki sunulması .

Kod:

pMCMryyTyyytytttT

Çıktı:

()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefg

İçeride boşluk var mı? Sanırım gösterilmemiş bir sekme veya yeni satır yok mu? Bir sonraki cevap boşlukla cevap olmalı (en azından yakın) gibi görünüyor ...
Stewie Griffin

Çıktıda benim olan boşluk yok; Dil olsa yeni bir satır ekler mi bilmiyorum
Lynn

5

brainfuck

Kullanım Alanları: -.

!"%&')+,0123456789<=>ABCDEFGHIJKLNOPRSTWXYZ]`acefghjlnoprstux{| Kullanmaz : CJam'den . SuperJedi'ye teşekkürler

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.---------------------------.--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.-------------------------------------------------------------------------------------------.-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.

Çıktılar:

; (){}[]"'

2
Bu sadece -ve kullanmak için değiştirilebilir .. Bu, meydan okuma amaçları için önerim.
SuperJedi224


2
Maalesef, usesbunların kodda kullanılan varlıklar olduğu anlamına geldim . Bana oy kullanmaya başlamadan önce bir dakika ver.
Seadrus

3

CJam

Kullanım Alanları: 0123456789:;_bc

Kullanmaz: !GSaefgimnoprstuwgelen önceki gönderme, MATLAB

183185535513294435547695067785526290427932963043839368372854060721693597139131275368051870173845056551161192991350318233082749156998652_;128b:c

Çıktılar:

 !"%&')+,0123456789<=>ABCDEFGHIJKLNOPRSTWXYZ]`acefghjlnoprstux{|

Bunu yenemem.
Mutador

3

Oktav

Kullanım Alanları: !"#$%&'()*+,-./0123456789:;<=>?@[\]^_``abcdefghijklnsm{|}~ve çıktıda yeni bir satır.

Kullanmaz: ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"den Microscript önceki sunulması .

Kod:

[' ':'@','[':'`','{':'~',('@'+' '):('>'+'/')]

Çıktı:

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

Açıklama:

Bu ardışık ASCII karakterleri topluluğudur. Kod şuna eşittir:

[char(32:64) char(91:96) char(123:126) char(96:109)]

Nerede char(32:64)32 ila 64 ASCII karakterleri olan (uzayda @). Alfabenin bir kısmını çıktının sonuna getirmek için, kullanamadığım ave kullanamadığım için karakter eklemek zorunda kaldım m. @+eşittir 96 (``) ve >+/eşittir 109 (m)


Bu nasıl çalışıyor?
Conor O'Brien,

@ CᴏɴᴏʀO'Bʀɪᴇɴ, açıklama dahil =)
Stewie Griffin

3

Perl

Kullanım Alanları: 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz}(boşluk ile)

Kullanmaz: "#$%'()*+,-./123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`{|~den okunamıyor önceki sunulması

eval q!print uc q&} abcdefghijklmnopqrstuvwxyz&!and eval q}print q&0abcdefghijklmnopqrstuvwxyz&}and eval q&print length for qw!a bc def ghij klmno pqrstu vwxyzab cdefghij klmnopqrs!&

Çıktılar:

} ABCDEFGHIJKLMNOPQRSTUVWXYZ0abcdefghijklmnopqrstuvwxyz123456789

… Maymunlar hakkındaki eski şaka kod yazma akla geliyor…

Programı çevrimiçi olarak çalıştırabilirsiniz.

Bu program, Perl'in garip özelliklerini, ASCII'nin herhangi bir alt kümesinde kod yazmak için kötüye kullanır:

  • İşlevler, bazı durumlarda parantez olmadan çağrılabilir (kuralların kesin olduğundan emin olun).
  • q#text#nerede #olabilir hemen hemen her karakter aynıdır"text"
  • qw#word1 word2 word3# Yukarıdaki gibi aynı ["word1", "word2", "word3"]
  • for Herhangi bir noktalama işaretini ortadan kaldırarak döngüler ve diğer şeyler satırlara eklenebilir

3

Javascript ES6

Önceki cevap: /codegolf//a/67406/39022

Kaynak !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ, boşluk veya yeni satır içermiyor .

alert`abcdefghijklmnopqrstuvwxyz{}\\~_^[]|\``

Çıktı:

abcdefghijklmnopqrstuvwxyz{}\~_^[]|`

(Küçük harfli alfabe, küme parantezleri, ters eğik çizgi, tilde, alt çizgi, karat, köşeli parantezler, boru ve geri tepme)


İleri eğik çizgi yerine ters eğik çizgi demek istediğine inanıyorum . Ama güzel giriş!
ETHProductions,

@ETHproductions Ters eğik çizgi konusunda haklısın.
SuperJedi224,

2

Python 3

Kullanım Alanları: !CGaceilmnoprstw z.

print("Germanic Capitalization is awesome!")

Germanic Capitalization is awesome!Kısıtlama olmadan yazdırmanız yeterli . İyi şanslar!


2

Mikroskop II

Önceki cevap: burada. Program noktalı virgül, boşluk, parantez, küme parantezleri, köşeli parantezler, tekli düz tırnak işaretleri veya çift düz tırnak kullanmaz. Alıntı yapmaktan kaçınmak zorunda kalmazsa, bu program daha kısa olacaktır.

Çıktı şunları içerir: ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"ve bir yeni satır.

Programı:

97Kp98Kp99Kp100Kp101Kp102Kp103Kp104Kp105Kp106Kp107Kp108Kp109Kp110Kp111Kp112Kp113Kp114Kp115Kp116Kp117Kp118Kp119Kp120Kp121Kp122Kp""P65Kp66Kp67Kp68Kp69Kp70Kp71Kp72Kp73Kp74Kp75Kp76Kp77Kp78Kp79Kp80Kp81Kp82Kp83Kp84Kp85Kp86Kp87Kp88Kp89Kp90Kp123456789qh

Tam çıkış:

abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ"123456789"

1
Ve Does not incudebiraz.
Conor O'Brien,

2

MATLAB

Kullanım Alanları: !GSaefgimnoprstuwve newline.

Kullanmaz: !CGaceilmnoprstw zden önceki sunulması, Python 3 .

[83,116,101,119,105,101,32,71,114,105,102,102,105,110,32,105,115,32,97,32,112,114,111,109,105,110,101,110,116,32,103,101,110,105,111,117,115,33,'']

Baskılar:

ans =

Stewie Griffin is a prominent genious!

2

okunamayan

Kullanım Alanları: "#$%'()*+,-./123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`{|~

Kullanmaz: ()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefgden Pyth önceki sunulması

' ' ' '''' ' ' ' ' '''''' ' ' '''' ' ' '''' ' ' '''' ' ' '''' ' ' '''' "'" " ' '''" " ' '''" " ' '''" " ' '''" " ' '''" " ' '''" " ' '''" " ' '''" '" " ' ' ' '''''" " ' ' ' '''''" " ' ' ' '''''" " ' ' ' '''''" " ' ' ' '''''" "'" ' '''" ' ''' " ' '''" ' ''' " ' '''" ' ''' " ' '''" ' ''' " ' '''" ' ''' " ' '''" ' ''' " ' '''" ' ''' " ' '''" ' ''' " ' '''" ' ''' " ' '''" ' ''' " ' '''" ' ''' " ' '''" ' ''' " ' '''" ' ''' " ' '''" ' ''' " ' '''" ' ''' "'"" ' ' ' '''''" " ' ' ' '''''" " ' ' ' '''''" " ' '''" ' ''' " ' '''" ' ''' " ' '''" ' ''' " ' '''" ' ''' " ' '''" ' ''' "" ' ' ' ''''' "" ' ' ' ''''' "" ' ''' "" ' ''' "" ' ''' "" ' ''' "" ' ''' "" ' ''' "" ' ''' "" ' ''' "" '"" ' '''" " ' '''" " ' '''" " ' '''" " ' '''" " ' '''" " ' '''" " ' '''" ""

Çıktılar:

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

Merak ediyorsanız, evet, bu dilde elle programlama çok acı vericidir, bu yüzden kodu oluşturmak için bu yazıyı (JavaScript'te) yazdım:

var program = `"`,
    output = "\"#$%'()*+,-./123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`{|~";
for(var i = 1, c = 0; c < output.length; i++) {
  program = `'""` + program;
  if(i == output.charCodeAt(c)) {
    program = `'"` + program;
    c++;
  }
}
program;

Ben okunamıyor için Python yorumlayıcısı kullanılan buraya kod çalıştırmasına.


İçinde bir boşluk olması bir sonraki için hayatı zorlaştıracaktır =)
Stewie Griffin

@StewieGriffin Bu doğru. Düzenlemek için çok mu geç? xD TBH olsa da, bu zorluğun çok daha uzun süre devam edebileceğini düşünüyorum çünkü büyük veya küçük harflerde önceden belirlenmiş değişkenleri olan birçok dil var, bu yüzden sadece bir karakter geçerli bir cevap olacaktır. (Çok ilginç olmayacak ve bir sonraki cevap için çok kolay olmasına rağmen!)
user81655

1
Bence artık çok geç. Birisi örneğin boşlukta bir çözüm üzerinde çalışıyor olabilir ve aniden çıktıya bir boşluk eklemek muhtemelen onları rahatsız eder.
Stewie Griffin,

@StewieGriffin Evet, benim de mantığımdı.
user81655

1

GolfScript

Kullanım Alanları: uzay, newline, !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ .

Perl’de önceki gönderimden kullanmaz 0-9A-Za-z{veya boşluk kullanmaz .

Kod:

'!'.!=('['.!=,>''+

Çıktı:

 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ

Ve takip eden bir yeni hat.

Burada dene.

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.