Önceki cevapların ilk karakterini yazdır


17

Kabul edilen kazanan 7 bitlik ASCII cevabı ile isaacg . Ancak, meydan okuma henüz bitmedi - bu ödül en kısa cevaba verilir. Bir şekilde , diğer tüm cevapların ilk karakterlerini 10 bayta indirirseniz, ödül kazanacaksınız. Bu, Round 2'nin GolfScript cevabındaki tüm karakterleri (artı bu cevabın kendisi tarafından eklenen) içerir. Bu, sıra dışı kalmanıza izin vereceğim BİR kez - buna itirazlarınız varsa, yorumlarda bana bildirin.

Eski fikrimde bana yardımcı olan ve bana bu yeni fikri veren randomra'ya kredi vermek istiyorum.

Önceki Kazananlar

  • 1. Tur: 7 bitlik ASCII ile isaacg
    Next bytes: 30 (or 10 if you want that sweet, sweet rep)
    Biliyorsunuz, kod golfü gerçekten harika. İnsanlar meydan okuyor ve yavaş yavaş küçülüyor! Ama bunu başka bir yolla yapalım. İşte benim meydan okumam:

  • Kod, önceki tüm yanıtların ilk karakterini gönderildikleri sırayla yazdırır (ilk yanıt hiçbir şey yazdırmaz)

  • Kod 100 bayttan başlar ve her seferinde 5 azalır.
  • İki gönderi aynı cevaba gidiyorsa (yani, her ikisi de birbirinden birkaç saniye içinde gönderilir), yenisi eskisinin karakterini eklemeli ve 5 bayt (birkaç saniye bile) azaltmalıdır.
  • Herhangi bir dil kullanılabilir.
  • Kodunuz herhangi bir hata oluşturmamalıdır.
  • Kodunuz ilk adım için gereken tüm baytları kullanmalıdır.
  • Kodunuz STDOUT'a yazdırılmalıdır.
  • Yazdırılamayan karakterler iyi, ancak:
    • İlk karakter olamazlar (bu sorunun amacı uğruna)
    • Herkese nerede olduklarını bilmelisin
  • Birden fazla yanıt gönderebilirsiniz, ancak:
    • Bir başkasını göndermeden önce 2 cevap beklemelisiniz (bu yüzden 100 bayt yüklediyseniz 85 bayta kadar beklemeniz gerekir.)
  • Şunları yapamazsınız:
    • 10 bayttan fazla yorum kullan
    • tüm program için kullanılmayan değişkenlere sahip olmak
    • programı boşlukla doldur
    • 10 bayttan daha uzun değişken adlarına sahipseniz (ancak 10 bayttan daha az birden çok değişkeniniz olabilir)
      (EMBLEM'in ilk cevabı bu kuralların istisnasıdır, çünkü bu kısıtlamalardan önce yayınlanmıştır.)
  • Standart boşluklar yok. Eğer tüm eğlenceyi meydan okumak istemiyorsanız.
  • 3 hafta boyunca başka yanıt gönderilmezse, en az bayt kullanan cevap kazanır. (Beraberlik durumunda, daha uzun stringi basan kazanır.)

Örnek: Üçüncü cevap, iki karakter çıktı veren 90 bayt uzunluğunda bir kod olmalıdır (100 baytlık kodun ilk karakteridir, daha sonra 95 baytlık kodun ilk karakteridir). İlk cevap hiçbir şey vermez (karakter almak için önceki cevaplar yoktur).


"Gereksiz boşluk" ifadesi kötüdür. Noktalı virgül kullanabileceğiniz için ifadelerin sonlandırılması için Python'un boşlukları gereksizdir.
EMBLEM

8
Belki 100 bayttan tekrar başlayabiliriz, ancak ppuppPq([#fwSmdP[başlangıç ​​dizesi olarak başlayabiliriz ve dizenin izin verilen bayt sayısından daha uzun olduğu her seferde yeniden başlayabiliriz. Yine de kazanan bir kriter düşünemiyorum.
Sanchises

1
@Scimonster Dürüst olmak gerekirse hepsini içeren 4 bitlik bir karakter seti olduğunu #(PS[dfmpquwmu düşünüyorsunuz? Burada bilgi yoğunluğunun sınırlarını aşıyoruz. Önceki tüm yanıtları işleyen 10 baytlık bir program yazmazsanız. Bunun beklemeye değer olup olmadığından emin değilim.
Sanchises

2
@sanchises Bir tane olduğunu söylemiyoruz. İnsanlara neler yapabileceklerini görme şansı veriyoruz. Hiç kimse yapamazsa, yeniden başlatacağız.
ASCIIThenANSI

6
-1 Bu meydan okuma 15 baytlık çözümden sonra neden saygınlıkla ölmedi? Farklı kurallarla oynamaya devam edebilmeniz için iyi, "kazanan" bir cevap verildikten sonra bunu değiştirmek zor görünüyor.
Geobits

Yanıtlar:


34

7 bit ASCII, 15 bayt

Güncellendi: Dolgunun sonunda olması gerektiğini fark etmedim.

Sonunda yastıklı doğru sürüm:

hexdump (xxd):

0000000: e1c3 af0e 1438 a8b6 8f37 7a7b 7250 b6    .....8...7z{rP.

Çıktılar (hangisinin doğru olduğundan emin değilim):

�ï8��z{rP�

áï8¨¶7z{rP¶

Önde yanlış doldurulmuş eski versiyon:

pá×
T[G½=¹([

Buradaki dil / biçim 7 bitlik ascii'dir, burada 7 bitlik her grup bir ASCII karakterine karşılık gelir. SMS verilerinin aktarılmasında kullanılır. Burada bir kod çözücü bulunur .

Bir programlama dilinde yazılmayan sabit çıktı sorularına cevap verilmesine izin verilip verilmediğine dair geniş kabul görmüş bir karar yoktur. Daha fazla bilgi için bu meta gönderiye bakın . (Özür dilerim, bu yazıyı daha önce yanlış okudum.)


2
Tebrikler! Bir dize içerdiği koddan daha uzun sıkıştırmak için gördüğüm tek kişi sensin! : D
ASCIIThenANSI

@ASCIIThenANSI Bir dizgiyi daha kısa bir programa sıkıştırmak kolaydır. Python programı print('A'*100)100'lük bir dize yazdırır A. Etkili bir rastgele dizeyi sıkıştırmak kolay değildir.
Calvin'in Hobileri

6
@ Calvin'sHobbies Hepimiz kodumuzu 'p' harfiyle yeni başlamış olsaydık daha kolay olurdu. : D
ASCIIThenANSI

4
-1 Buna daha önce bakmalıydım ... Bu yanlış kodlanmış gibi görünüyor. Görünüşe göre biraz doldurma ile başlıyorsunuz, ancak formattan söyleyebileceğimden (ve bu cevap zaten bir formatın tanımını genişletiyor, çünkü paketlenmiş 7 bitlik ASCII aslında hiçbir yerde kullanılmıyor), veriler sonunda değil, sonunda yastıklı olacak. Ve dolgu ile bile, geri kalanının doğru kodlanmadığını düşünüyorum.
Runer112

1
"Áï <SO><DC4>8¨¶7z {rP¶" olmalıdır.
LegionMammal978

25

Öğe, 80 bayt

programs do many fun things, like print the letters p`, p`, u`, and p` in a row.

Bu, üç yıl önce yarattığım bir dildir. Burada Perl ile yazılmış bir tercüman bulabilirsiniz . `Operatör yığını (harf) üst şeyi yazdırır. Diğer noktalama işaretleri, birleştirme gibi şeyler yapar, ancak sonuçlar hiçbir zaman yazdırılmaz.


1
Çok zeki, efendim. Çok zeki ...
ASCIIThenANSI

10

Klip , 20 bayt

[M"ppuppPq([#fwSmdP"

6
Bence son ayakta kalan sensin. Birisi ppuppPq([#fwSmdP[15 bayt içinde sıkıştırıp VE çıktısını sürece.
Sanchises

@sanchises Eğer yaparsa, bir ödül verirdim. Çünkü o kadar iyi olurdu.
ASCIIThenANSI

3
@ sanchises Yalnızca pyerini tüm ezberleri ile çıkaran ezoterik bir dil olsaydı pp. Sonra bir çözüm olurdu pupPq([#fwSmdP[.
bcsb1001

1
@ bcsb1001 Evet, son zamanlarda böyle bir şey düşündüm; her komutun bu sitede kazanan bir meydan okuma çözümü olduğu ezoterik bir dildir ve bu komutun çıktısını bir sonraki komutun girişi olarak kullanır. Birisi bu konuda bir şey programlayabilirse harika olurdu.
Sanchises

1
@sanchises Ama bu internete girerek standart bir boşluk kuralı kırabilir mi?
ASCIIThenANSI

5

Ortak Lisp, 65 bayt

(print(map 'string #' code-char #(112 112 117 112 #x70 80 #x71)))

The last 112 should be changed to 80 (somehow).
LegionMammal978

12
With this answer, an age of darkness has been ushered in.
PhiNotPi


4

Python 3, 95 bytes

pre='public class f{public static void main(String[] a){System.out.print("");}}'
print(pre[0])

4

Haskell, 35 bytes

main = putStrLn "\&ppuppPq([#fwS\&"

What does "\&" do?
Hjulle

4
@Hjulle Take up two characters. (It's an escape code for the empty string.)
user19057

4

It has been 24 hours since the edit! Let's do this! :D

Java, Round 2, 100 bytes

public class Bytes{public static void main(String[] args){System.out.print("ppuppPq([#fwSmdP[p");}}

1
How about marking this "Round 2"?
Claudiu

4

Round 2: Ruby, 75 bytes

"ppuppPq([#fwSmdP[ppnvos".chars.each do|character|;print character;end#4444

I thought I'd make it a little more challenging by starting my answer with a quote! >:D


3

Java, 100 bytes

public class f{public static void main(String[] a){System.out.print("");}}//createdbyEMBLEMasdfghjkl

3

Mathematica, 75 bytes

Print[StringJoin[First/@Characters/@{"publ","pre=","usin","p1 =","prog"}]];


3

F# script, 40 bytes

System.Console.Write "\u0070puppPq([#fw"

It has its own file type (.fsx), so I'm pretty sure that it counts as a language.


1
You forgot the 'w' from Scratch.
ASCIIThenANSI

I think this is also missing the 'f' from the 50 byte javascript answer.
user19057

Fixed that, too
LegionMammal978

3

Round 2: ///, 65 bytes

\p/CodeGolfIsAwesome!/puppPq/CodeGolfIsAwesome!([#fwSmdP[ppnvos"R

Thought I would spice it up a bit more with a backslash :)


2

C#, 90 bytes

using System;namespace IAmAwesome{class Program{static void Main(){Console.Write("pp");}}}

2

Ruby, 70 bytes

q = ["publ", "pre", "usi", "p1 ", "pro", "Pri"]
q.each{|s| print s[0]}

You'd have to rearrange it to ["publ", "pre", "usi", "p1 ", "pro", "Pri"].
LegionMammal978



2

MATLAB, 30 bytes

disp([112 112 'uppPq([#fwSm'])

Nicely shows how loose MATLAB goes about with data types.


2

Mathematica, 25 bytes

Print["ppuppPq([#fwSmd"];

1
I had a novel 25-byte CJam solution that encoded the string in a non-straightforward way. Unfortunately, it looks like it'll never see the light of day. :-/
Runer112

@Runer112 You and all your little rhymes / Still, I had this answer ~20 seconds before the 30-byte one chimed.
LegionMammal978

2

Round 2: Batch, 70 bytes

REM BATCHS
GOTO B
:C
ECHO ppuppPq([#fwSmdP[ppnvos"
GOTO A
:B
GOTO C
:A

Your quote was futile. D:>

Edit: it just occurred to me that I was going by file size instead of character count, not sure how bytes are to be counted :P

Edit 2: Added a comment to fill bytes. If you check byte count on a windows machine, just pretend the "REM BATCHS" is just "REM" I guess. :P


I'm counting bytes with gedit; it says your answer is 63. No worries; you're close enough to fill in the gap with comments.
EMBLEM

1
Ah, alright cool, I'll just stick a comment in there.
bloo

3
@EMBLEM It's because the Windows newline is \r\n. There are 7 extra \rs there.
jimmy23013


2

Round 2, ><>, 45 bytes

4 chars of comments.

'c(v\R"sovnpp[PdmSwf#[(qPppupp'01.uwyz
ol?!;

The string now contains both " and ', so ><> answers can't just surround it with either anymore (that's how I avoided any escapes).


2

Round 2, Golfscript, 35 bytes

"ppuppPq([#fwSmdP[ppnvos\"R\\v(c'P"

No waste bytes. Starts with a quote again!


7-bit ASCII won't work here, it only creates 28 bytes and includes an extra NUL
LegionMammal978

Someone cleverer than I will have to do it.. maybe there's some language encoded in 6 bits which can be run to produce the proper output..
Claudiu

No, 6 bits would create 24 bytes, but we need 30.
LegionMammal978

@LegionMammal978: Right, 24 bytes, then 8 six-bit instructions to print them or do whatever
Claudiu

1
You're missing the apostrophe from 2 answers back
14mRh4X0r

1

Python 3, 85 bytes

p1 = 'publ'
p2 = 'pre'
p3 = 'usi'
def cprint():
  print(p1[0], p2[0], p3[0])
cprint()

1

Round 2, C#, 95 bytes

namespace Cool{class Program{static void Main(){System.Console.Write("ppuppPq([#fwSmdP[pp");}}}

How about marking this "Round 2"?
Claudiu

1

Round 2, F# script, 55 bytes

(**)System.Console.Write(@"uppPq([#fwSmdP[ppnvos""R\v")

See my previous F# script anwer for why I think it is a valid language.


1

Round 2, R, 50 bytes

cat('ppuppPq([#fwSmdP[ppnvos\"R\\v(',file=stdout())

1

Round 2, Javascript, 60 bytes

var _p="p";alert(_p.repeat(2)+"uppPq([#fwSmdP[ppnvos\"R\\");

I think that your __ would fall under unnecessary variables. Try changing p to a two-letter name and make the string double-quoted to add a backslash for the printed quote. That should compensate for the 3 chars you lost from removing the __,.
LegionMammal978

1
They didn't say not to use them. They said to use at most ten bytes of them.
SuperJedi224

It meant that you can use necessary variables of up to 10 bytes, but you can't use unnecessary variables altogether.
LegionMammal978

@Rainbolt You're interpreting it as "You can't use more than 10 bytes of (comments), (unnecessary variables), (filling the program with whitespace), or (variable names) longer than 10 bytes", but because of the second reference, I see it as "You can't use (more than 10 bytes of comments), (unnecessary variables), (filling the program with whitespace), or (variable names longer than 10 bytes)".
LegionMammal978

I've fixed the ambiguity. In the question, var __ is disallowed (not being used in the rest of the program), but renaming p would be acceptable.
ASCIIThenANSI

1

Round 2: Javascript, 90 bytes

var p="p";alert(p+p+p+"u"+p+p+p.toUpperCase()+"q([#fwSmd"+p.toUpperCase()+"["+p+p+"n");//p

How about marking this "Round 2"?
Claudiu

The __, would fall under unnecessary variables.
LegionMammal978
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.