Artık ABC'lerimi biliyorum, gelip benimle golf oynamayacak mısın?


46

Bu tam metni çıkaran bir program veya işlev yazın, büyük / küçük harf duyarlı:

A, B, C, D, E, F, G,
H, I, J, K, L, M, N, O, P,
Q, R, S,
T, U, V,
W, X, Y, Z.

( Daha fazla sıkıştırılabilirlik için düzenlenmiş olsa da, birçok Amerikalı çocuğun alfabeyi ezberlemeye yardımcı olduğunu öğrendiği alfabe şarkısına dayanarak .)

Çıktı , yukarıdakiyle tamamen aynı görünmelidir (yine büyük / küçük harfe duyarsız), ancak her satırda sondaki boşlukları ve / veya sondaki yeni satırları içerebilir. Sonunda döneme dikkat edin.

Bu kod golf, yani bayt cinsinden en kısa kod kazanır.


4
Regex tabanlı diller için 0 genişliğe sahip bir bakış açısı düşünün .../(?=[HQTW])/
Magic Octopus Urn

29
Öyle olduğunu düşündüm H, I, J, K, LMNO, P?
Monica'yı

7
Son satır "Y ve Z" ile bitmeli mi?
KM.

@KM. Bu, sanal alanda tartışıldı ve mücadeleyi daha az karmaşık hale getirmek için bu sürümle kalmaya karar verdik.
ETHProductions

6
Golf sıkıcı görünüyor. Kriket daha iyidir.
Manoj Kumar,

Yanıtlar:


15

Vim, 42 , 40 keystrokes / bytes tarafından

:h<_<cr>jjYZZP:s/./&, /g<cr>7f r<cr>9;.3;.3;.$ch.

Lynn ve müthiş vim cevabını ipucundan yardım alfabesini kapmak için teşekkürler .

İki bayt tasarrufu için RomanGräf'a teşekkürler!

Açıklama:

:h<_<cr>                                      " Open up vim-help
        jj                                    " Move down two lines
          Y                                   " Yank this line (containing the alphabet)
           ZZ                                 " Close this buffer
             P                                " Paste the line we just yanked
              :s/./&, /g<cr>                  " Replace every character with that character followed by a comma and a space
                            7f                " Find the seven space on this line
                               r<cr>          " And replace it with a newline
                                    9;        " Repeat the last search (space) 9 times
                                      .       " Repeat the last edit (replace with a newline)
                                       3;     " Third space
                                         .    " Replace with newline
                                          3;  " Third space
                                            . " Replace with newline

Ardından, satırın sonunu ile birlikte hareket ettiririz, ile $karakter değiştiririz chve bir nokta ekleriz.


2
Büyük harfe dönüştürmemelisiniz. OP, "bu kesin metin, büyük / küçük harf duyarlı" dedi.
Roman Gräf

@ RomanGräf Tahmininiz için teşekkürler!
DJMcMayhem

Ha! Alfabeyi vim yardımından almak dahi! Bunu biliyor muydun, yoksa bu meydan okuma için mi aradın?
Christian Rondeau,

3
@christianRondeau Bununla gelmedim. Lynn bu cevabı yaptı
DJMcMayhem

@ RomanGräf +1 kullanmamalısınız
FantaC

12

05AB1E , 16 bayt

kod

A',â79334S£»¨'.J

Açıklama:

A                  # Push the alphabet.
 ',â               # Cartesian product with ','.
    79334S         # Push [7, 9, 3, 3, 4].
          £        # Contigious substring, pushes the substrings [0:7], [7:7+9], 
                     [7+9:7+9+3], [7+9+3:7+9+3+3], [7+9+3+3:7+9+3+3+4].
           »       # Gridify, join the inner arrays with spaces and join those arrays
                     with newlines.
            ¨      # Remove the last character.
             '.J   # Append a '.'-character.

CP-1252 kodlamasını kullanır . Çevrimiçi deneyin!


11

Bash + GNU yardımcı programları, 36

  • Neil sayesinde 5 bayt kurtarıldı.
echo {A..Y}, Z.|sed 's/[HQTW]/\n&/g'

Ideone.


2
Neden sadece değil echo {A..Y}, Z.|sed 's/[HQTW]/\n&/g'?
Neil

@Neil Ooh çok iyi! Teşekkürler!
Dijital Travma

11

JavaScript (ES6), 66 65 bayt

Dayak @Neil ben yaptım o en niçin ... imkansızdı. :-)

f=(i=10)=>i>34?"z.":i.toString(++i)+","+` 
`[9568512>>i-9&1]+f(i)

@LevelRiverSt hilesi sayesinde Golf 1 bayt . Kullanımı String.fromCharCode7 bayttır:

f=(i=65)=>i>89?"Z.":String.fromCharCode(i,44,i%86%83%80%71?32:10)+f(i+1)

Nasıl çalışır

Bu yinelemeli gelen alfabenin her bir karakteri üretir aiçin ykullanarak, .toString(). Her harften sonra virgül eklenir, artı 9568512>>i-9&11 ise yeni bir satır veya başka bir boşluk eklenir . Özyineleme 34'ü geçtiğinde, yani zfonksiyona basit bir şekilde döner "z.".


Bekle, bu nasıl bir şey - açıklama pls? : 3
Downgoat

10

Python 2.7, 67 66 63 bayt

a=65;exec"print'%c'%a+',.'[a>89]+'\\n'[a%42%39%9^2:],;a+=1;"*26

Dennis bir bayt kurtardı.


execBunun yerine kullanarak forbir bayt kaydetmeniz gerekir.
Dennis,

6

Jöle , 19 18 bayt

ØAp”,ṁ79334DR¤GṖ”.

1 bayt golf attığı için @Adnan'a teşekkürler!

Çevrimiçi deneyin!

Nasıl çalışır

ØAp”,ṁ79334DR¤GṖ”.  Main link. No arguments.

ØA                  Yield "ABCDEFGHIJKLMNOPQRSTUVWXYZ".
  p”,               Cartesian product with ','; append a comma to each letter.
             ¤      Combine the two links to the left into a niladic chain.
      79334D          Decimal; yield [7, 9, 3, 3, 4].
            R         Range; yield [[1, 2, 3, 4, 5, 6, 7], ..., [1, 2, 3, 4]].
     ṁ              Mold; reshape the array of letters with commata like the
                    generated 2D array.
              G     Grid; separate rows by spaces, columns by linefeeds.
               Ṗ    Pop; discard the last comma.
                ”.  Print the previous result and set the return value to '.'.
                     (implicit) Print the return value.

11
31 saniye mi? Dang ...
ETHproductions

5

JavaScript (ES6), 80 74 bayt

_=>[...`ABCDEFGHIJKLMNOPQRSTUVWXYZ`].join`, `.replace(/[HQTW]/g,`
$&`)+`.`

ISO-8859-1 kodlamasını nasıl kullanabileceğinizi hesaplayabilirseniz, bunu atob / btoa ile kısaltmak mümkündür. Düzenleme: @RickHitchcock sayesinde 6 bayt kaydedildi.


1
@RickHitchcock Evet, sadece PHP cevabını okuduktan sonra kendimi anladım.
Neil

@ RickHitchcock Sen istedin .join`, `mi? Ters eğik çizgilerden önce ters eğik çizgi koyun. (Evet, yorum markdown farklı, iç içe ...)
Neil

5

Pyke, 23 19 17 bayt

G\,J\.+2cu  /P

Burada dene!

G\,J\.+        -    ",".join(alphabet)+"."
       2c      -   split(^, size=2)
            /  -  split_sized(^, V)
         u     -   yield list [7,9,3,3] (actual bytes `u%04%07%09%03%03`)
             P - print(^)

5

R, 83 71 bayt

a=rbind(LETTERS[-26],","," ");a[3,7+3*c(0,3:5)]="\n";cat(a,"Z.",sep="")

Çevrimiçi deneyin!

3 satırlık bir matris yapar (biri harflerle, biri virgüllerle, diğeri boşluk veya yeni satırla).

Düzenleme : Teşekkürler Billywob!


cat(a,sep="")birkaç bayt kazandırır:a=rbind(LETTERS,","," ");a[3,7+3*c(0,3:5)]="\n";cat(a[,-26],"Z.",sep="")
Billywob

Teşekkürler! Bu çok yardımcı oldu! Açık [-26]kullanımı LETTERSdoğrudan başka bir bayt kaydeder.
plannapus

4

CJam, 26 bayt

'A79333Ab{{',S2$)}*N\}/'.@

Çevrimiçi tercüman

'A                             Push 'A'
  79333Ab                      Push [7 9 3 3 3]
         {           }/        For each number n in the previous array...
          {      }*              Execute n times...
           ',S                     Push a comma and a space
              2$)                  Copy last letter and increment
                   N\            Place a newline under the letter on top
                       '.@     Push '.' and rotate

4

Brainfuck, 117 bayt

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

İlk dört satırın her biri sonda bir boşluğa sahiptir ve program 8 bitlik hücreleri üstlenir. Çevrimiçi deneyin!

(Son çizgiyi kullanmak zor.)


4

Perl, 37 bayt

Bu çözüm için @Dom Hastings'in kredisi (benimkinden 3 byte, bkz. Feryat ).

say+(map"$_, ".$/x/[GPSV]/,A..Y),"Z."

-E(Veya -M5.010) bayrağıyla çalıştır :

perl -E 'say+(map"$_, ".$/x/[GPSV]/,A..Y),"Z."'

Önceki sürümüm, 3 bayt daha uzun (toplam 40 bayt):

perl -E '$_=join", ",A..Z;s/[HQTW]/\n$&/g;say"$_."'

1
37 bayt için biraz farklı yaklaşım (hala regex'i kullanıyor ...):say+(map"$_, ".$/x/[GPSV]/,A..Y),"Z."
Dom Hastings

@HomHastings Güzel olan, Aferin. Ve üç yerine bir ifadeye sahip olmak daha güzel! ;-)
Dada

4

JavaScript (ES6), 66 64 bayt

_=>`ABCDEFG
HIJKLMNOP
QRS
TUV
WXY`.replace(/./g,"$&, ")+"Z."

Regex karakterlerle eşleşir ancak satırbaşının satırlarını döndürmez, bu nedenle regex change kullanarak her karaktere "," ekleyebilirim.

Düzenleme: ETHProductions sayesinde 2 karakter kaldırıldı


1
Diğer JS golfçülerinin neden bu çözüme gitmediğini bilmiyorum. İşte, bir oy ver.
Mama Fun Roll

1
Dang, iyi olanı! Ben değiştirmek eğer regex parens kaldırmak düşünüyorum $1etmek $&.
ETHProductions

3

Çedar, 70 bayt

->[65@"71,72@"80,"QRS","TUV","WXYZ"].map(@.chars.join(", ")).vfuse+'.'

Bundan daha kısa olmuyor gibi görünüyor. Bunun oldukça ilginç yöntemler kullanan başka sürümleri de yaptım ama bu en kısa

Çevrimiçi deneyin!

açıklama

->                        // Function with no arguments
  [                       // Array, each item represents a line
   65@"71,                // See below on what @" does
   72@"80,
   "QRS",
   "TUV",
   "WXYZ"
  ].map(                  // On each item...
    @.chars.join(", ")    // Join the characters on ", "
  ).vfuse                 // Vertical fuse or join by newlines
  + '.'                   // The period at the end

@"Operatör değişmekteydi dize oluşturmak için kullanılır. Sol karakter kodundan başlayarak sağ karakter koduna kadar bir dize oluşturur.

Örneğin, ve için 65char kodudur . Yapmak , A'dan Z'ye veya alfabe oluşturur.A90Z65 @" 90


3

C 112 102 81 bayt

Cleblanc & LevelRiverSt'e teşekkürler!

i,c;main(){for(c=64;++c<91;)printf("%c%c%c",c,44+c/90*2,c=="‌​GPSVZ"[i]?++i,10:32)‌​;}

Güzel çözüm. Birkaç bayttan 44'ü ',', '46' ve '46' değerinden daha az olarak kaydedebilirsiniz.
cleblanc

İnt bildirmek için gerek yoktur ve bu da yalnızca i,c,d;main(){for(c=65;c<91;++c){if(c-"GPSVZ"[i])d=32;else d=10,++i;printf("%c%c%c",c,c-90?44:46,d);}}
gizli

Sen 82 bayt bu yaklaşımı aşağı alabilirsiniz: i,c;main(){for(c=64;++c<91;)printf("%c%c%c",c,44+c/90*2,c=="GPSVZ"[i]?++i,10:32);}. Üçlü bir operatör arasında kesinlikle herhangi bir şey yapabileceğinizi ?:, hatta virgülle ayrılmış birkaç ifadenin (sonuncuyu değerlendirir.)
Level River St

3

Brainfuck, 157 bayt

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

Çevrimiçi deneyin


3

Ruby, 56 54 bayt

$><<(?A..?Y).map{|c|c+('GPSV'[c]?",
":", ")}.join+"Z."

İlk satır değişmez bir yeni satırla bitiyor.

Düzenle:'A'..'Y' ile değiştirerek iki bayt kurtardı ?A..?Y.


3

Vim, 32 bayt

26o<C-V><C-V>64,<Esc>r.V{g<C-A>8Jj9Jj3Jj.j4JcH<C-R>"

Sonunda boş bir çizgi bırakır, buna izin verilir, ancak bu kadar sakar olmak çok garip. Daha da kötüsü, insert modunda bitiyorum. Başkalarının burada yaptığını gördüm, sanırım izin var mı? Kirli hissediyor.

  • 26o<C-V><C-V>64,<Esc>: Birincisi <C-V>, ikincisini anlamıyla ekler. <C-V>64Tamponu içinde bu yapraklar daha sonra harflerin içine, ASCII kod noktaları haline alınacak. Virgül zaten içinde.
  • r.: Bir daha asla sonunda olmayacak, .şimdi yap.
  • V{g<C-A>: Tüm 64s harflerini büyük harflerin ASCII kod noktalarına dönüştürmek için görsel artış kullanır .
  • 8Jj9Jj3Jj.j4J: Rasgele çizgi katılır. Birincisi 8Jbunun yerine 7Jçünkü boş çizgiyle uğraşıyoruz. Tekrarlanan 3Js, nokta tekrarı için uygundur.
  • cH<C-R>": İnsanlar genellikle i<C-R>ekleme modu yapıştırması olarak düşünür , ancak daha çok ekleme modu makrosu gibidir. Gibi şeyler yazmış gibi <C-V>65çalışacak ve ondalık kod noktası olarak yorumlanacaktır. Bu, sonunda ekstra (izin verilen) bir çizgi bırakır ve ekleme modunda kalır.

4
Politikada bir sorun varsa (veya bu konuda bir eksiklik varsa), cevabı değil meta üzerinden alın.
Mego

2

PowerShell v3 +, 60 78 67 bayt

-join(65..90|%{[char]$_+'.,'[$_-le89]+" "+"`n"*($_-in71,80,83,86)})

TAMAM. Aslında bu sefer okudum, anladım ve izledim. Söz vermek. : D

Diziyi alır 65..90ve her elemanın üzerinde döner |%{...}. Her yineleme, birleştirme, dizin oluşturma ve çarpma kullanarak yeni bir dize oluşturuyoruz.

İlk önce, şu anki sayıyı alıp charASCII harfi yapmak için atarız . Bu dizeye endeksleme dayalı başka karakter ile birleştirilmiş oluyor '.,'biz de olsanız 90veya olmasın (yani için hesaba Z.her şey virgül olmak yerken). Bu " ", harfleri boşlukla ayırmak için birleştirilmiş dize "`n"ve geçerli öğenin -inbelirtilen dizi olup olmadığına ilişkin Boolean değerine dayalı dize çarpımı (yani, yeni satır karakterinde birleştirme yapmamız gerekip gerekmediği). Elde edilen dize boru hattında bırakılır.

Bu dizgiler parenler içinde kapsüllenir ve -joinbirlikte yeni bir dizgide birleştirilir, bu daha sonra da boru hattında bırakılır Write-Outputve sonunda örtük olarak sonuç yazdırılır. Elimizdeki bu yana `ndizede, otomatik olarak baskı üzerine satırsonlarına dönüştürülür.

-inOperatör için v3 + gerektirir . Her satırda, meydan okumaya göre her şey yolunda olan derli toplu bir alanı var.

Örnek

PS C:\Tools\Scripts\golfing> .\now-i-know-my-abc.ps1
A, B, C, D, E, F, G, 
H, I, J, K, L, M, N, O, P, 
Q, R, S, 
T, U, V, 
W, X, Y, Z. 

1
Sonunda süre eksik.
Downgoat

İlk dört satırın sonunda virgül olmamalı mı?
Neil

@Neil İyi sos. Spesifikasyonu gerçekten anlayana kadar bunu sileceğim.
AdmBorkBork

2

PHP, 62 Bayt

<?=preg_filter("# ([HQTW])#","\n$1",join(", ",range(A,Z)));?>.

sadece karşılaştırma için 87 Bayt

<?="A, B, C, D, E, F, G,\nH, I, J, K, L, M, N, O, P,\nQ, R, S,\nT, U, V,\nW, X, Y, Z.";

Bunun yerine gerçek bir yeni satır kullanarak bir bayt kaydedebilirsiniz \n.
Alex Howansky,

Her satırda izleyen boşluklara izin verildiğinden, alanı regex'ten bırakarak bir bayttan tasarruf edebilirsiniz. Ayrıca, regex'te sınırlayıcıları atlamanıza izin verdiği için (7.0'da kullanımdan kaldırılmış ve kaldırılmış) ereg_replace kullanarak bir bayt kaydedebilirsiniz.
user59178

@ user59178 3 Bayt'ı kurtarabilirdim, ancak bundan kaçınırdım. Evet takip eden alana izin verilir. Regex olarak yazabilir "# (?=[HQTW])#"ve "\n"aynı bayt yerine kısa devre yapabilir ve daha net hale getirebilirim . Kullanımdan kaldırılmış bir işlevi kullanmak, yeni başlayanların kafasını karıştırabilir. Fiziksel kırılma, Unix'ten sonra diğer sistemlerde yanlış yorumlanabilir. Kendi öneriniz olarak gönderebilirsiniz.
Jörg Hülsermann

2

MATL, 38 29 bayt

@Luis sayesinde 9 bayt kaydedildi!

1Y2X{', '&Zc46h1[CEII]I*11hY{

Çevrimiçi Deneyin!

açıklama

1Y2     % Push the upper-case alphabet to the stack
X{      % Break the character array into a cell array (similar to a list)
        % where each element is a letter
', '&Zc % Combine back into a string with ', ' between each element
46h     % Append '.' (via ASCII code) to the end of the string
1       % Push the number 1
[CEII]  % Push the array: [7, 9, 3, 3]
I*      % Multiply this array by 3: [21, 27, 9, 9]  
llh     % Append an 11 to this array: [21, 27, 9, 9, 11] 
Y{      % Break our comma-separated list of characters into groups of this size
        % Implicitly display the result

2

R, 146 bayt

L=LETTERS
f=function(x,y=""){paste(x,collapse=paste0(", ",y))}
cat(f(c(f(L[1:7]),f(L[8:16]),f(L[17:19]),f(L[20:22]),f(L[23:26])),"\n"),".",sep="")

Açıklama:

LETTERSbüyük harfler için önceden tanımlanmıştır. Fonksiyon vektörü x birbirine bağlanması için olan ek ile (yeni satır için kullanılır). Kedi, yeni satırlar olarak basıldığı için kullanılır . Harflerin üzerine satırlar, daha sonra da satırların tamamı çıktının oluşturulması için çağrılır.
f,y
\nf

Muhtemelen golf oynayabilirim - f'nin birden fazla çağrısından hoşlanmıyorum ...


3
Ham çıktı yalnızca 77 bayttır. Doğrudan baskı yapmak daha kısa olabilir ...
Lynn

@ Lynn, biliyorum, ama burada bazı golf olanakları görüyorum.
pajonk

2

CJam, 31 bayt

'[,65>", "*7933Ab{3*/(\:+}%N*'.

Açıklama:

'[,65>                             push uppercase alphabet
      ", "*                        ", " between all letters
           7933Ab                  push [7 9 3 3]
                 {3*/(\:+}%        slices of lengths 21, 27, 9, 9
                           N*'.    join slices with newlines, add final "."

Çevrimiçi deneyin


2

Julia, 71 bayt

f()=join(join.(['A':'G','H':'P',"QRS","TUV","WXYZ"],[", "]),",\n")*"."

Yayın için 0.5 ya da daha iyisi gerekir .()


Bir yandan, bu şu anda bir takip süresine sahip değil ve bir print/ fonksiyon tanımlamasına ihtiyaç duymuyor mu? Öte yandan, joinbir değişkene kaydetmemek bir byte tasarrufu sağlar.
Sp3000

Benim kötü wrt "." Eksik ve işaretçi için teşekkürler join. Sayılmıştım. Programı çalıştırmak dizeyi döndürür. Bir dizgiyi döndüren bir program geçerli bir çıktı değil mi? (Ya çıktı olarak saymak şeyler dönmelerine izin verilmesi sadece işlevler eğer öyleyse. f()=Kısadır thant olan print())
Lyndon Beyaz

Tabi f()=ya ()->da iyi - Bence fikir, fonksiyonların atanabildiği ve birçok kez çalıştırılabildiği ve bunun aksine bir kod pasajı olacağını düşünüyorum.
Sp3000

2

Çedar, 57 bayt

->(65@"90).sub(/[GPSV]/g,"$0
").sub(/[^Z\n]/g,"$0, ")+"."

Çevrimiçi deneyin! Bu güzel değil mi Güzel bir dikdörtgen.

İki regex ikamesi. (65@"90)Büyük harf alfabesi olduğunu, .sub(/[GPSV]/g,"$0\n")yerini GPSVkendisiyle ve "\n", .sub(/[^Z\n]/g,"$0, ")olmayan tüm yeni satır ve yerini Zkendisi ile karakterleri ve ", "ve "."nihai ekler ..


1
Güzel teknik ve Downgoat'ı aşan güzel iş;)
ETHproductions

2

Japt, 24 bayt

;B¬qJ+S r"[HQTW]"@R+XÃ+L

Çevrimiçi test edin!

Nasıl çalışır

;                        // Reset various variables. B is set to "ABC...XYZ", J is set to ",", and L is set to ".".
 B¬                      // Take the uppercase alphabet and split into chars.
   qJ+S                  // Join with ", ".
        r"[HQTW]"        // Replace each H, Q, T, or W with
                 @R+XÃ   //   a newline plus the character.
                      +L // Append a period to the result.
                         // Implicit: output last expression

2

Java, 116 109 105 104

String f(){String s="";for(char c=65;c<91;)s=s+c+(c>89?46:',')+("GPSV".indexOf(c++)<0?' ':10);return s;}

Ungolfed:

String f() {
  String s = "";
  for (char c = 65; c < 91;) {
    s = s + c
      + (c > 89 ? 46 : ',')
      + ("GPSV".indexOf(c++) < 0 ? ' ' : 10);
  }
  return s;
}

Şunları yapabilirsiniz 7 bayt golf it: Her üç ||için |(-3); Değişen c==90için c>89(1); Değişen '.'için 46(1); ve değişen '\n'için 10(-2).
Kevin Cruijssen

@KevinCruijssen teşekkürler, ondalık sayıları kullanmaya çalıştım, fakat her iki karakter sabitini de üçlüye yerleştirirsem, ifade türünü tamsayı olarak değiştirdi, ki onu kırdı. Bir sabiti değiştirmek işe yaradı ve birkaç bayt sıktı.

2
@KevinCruijssen teşekkürler. İçimde yeterince kahve olsaydı, kendim güncellemeyi hatırlardım.

1
2 bayt daha: "GPSV".contains(""+c)yerine c==71|c==80|c==83|c==86.
TNT

1
@TNT Biraz daha iyi yapabildim. Doğru taraftaki itme için teşekkürler, bu bölümün iyileştirilebileceğini biliyordum.

1

q, 46 bayt

-1@'(", "sv/:0 7 16 19 22_,:'[.Q.A]),'",,,,.";

1

Retina, 43 bayt


Z
{2`
$`
}T01`L`_L
.
$&, 
[HQTW]
¶$&
, $
.

Lider yeni hat önemlidir. Çevrimiçi deneyin!

Bu benim Retina'yı ilk kez kullanıyorum, bu yüzden herhangi bir golf ipucu için teşekkür ederiz ...


1

Pyth, 25 bayt

+Pjmj\ dc*G\,j94092 23)\.

Sonucu STDOUT'a basan bir program.

Çevrimiçi deneyin

Nasıl çalışır

+Pjmj\ dc*G\,j94092 23)\.  Program. Input: none
          G                Yield string literal'abcdefghijklmnopqrstuvwxyz'
         * \,              Cartesian product of that with ',', yielding a list of
                           characters with appended commas
             j94092 23)    Yield the integer 94092 in base-23, giving [7, 16, 19, 22]
        c                  Split the comma-appended character list at those indices
   mj\                     Join each element of that on spaces
  j                        Join that on newlines
 P                         All but the last element of that, removing trailing ','
+                      \.  Append '.'
                           Implicitly print
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.