| Bytes | Lang | Time | Link |
|---|---|---|---|
| 009 | MATL | 171108T223828Z | Luis Men |
| 234 | Bespoke | 250728T050117Z | Josiah W |
| 032 | Raku Perl 6 rakudo | 250421T180020Z | xrs |
| 825 | ☾ | 250314T165323Z | noodle p |
| 007 | Pyth | 250311T115423Z | Glory2Uk |
| 062 | Tcl | 171109T005605Z | sergiol |
| 051 | AWK | 250303T155536Z | xrs |
| 053 | OpTeX | 250303T001720Z | jlab |
| 009 | Pyth | 240819T192342Z | adrianus |
| 034 | tinylisp 2 | 240419T050746Z | DLosc |
| 065 | Swift 5.10 | 240419T035830Z | fraune |
| 064 | Acc!! | 171108T232929Z | DLosc |
| 033 | Excel | 240419T025916Z | z.. |
| 003 | Vyxal j | 240419T014432Z | lyxal |
| 010 | Uiua | 240402T172159Z | noodle p |
| 079 | Swift 5.9 | 240402T165352Z | macOSist |
| 024 | YASEPL | 240402T141402Z | madeforl |
| 004 | Vyxal 3 j | 240402T124653Z | pacman25 |
| nan | Fig | 221013T155715Z | Seggan |
| 030 | Zsh + coreutils | 220616T072203Z | pxeger |
| 021 | K ngn/k | 220513T091107Z | oeuf |
| 006 | Vyxal j | 220510T175724Z | naffetS |
| 965 | Pyramid Scheme | 220318T232259Z | emanresu |
| 062 | tinylisp | 220203T180548Z | Giuseppe |
| 014 | APOL | 211215T132242Z | Ginger |
| 044 | Factor + spelling | 211215T064303Z | chunes |
| 011 | BQN | 211214T215249Z | DLosc |
| 057 | Python 2 | 210914T174501Z | Larry Ba |
| 068 | Java JDK | 210926T152124Z | 0xff |
| 049 | Forth gforth | 201110T104336Z | Razetime |
| 051 | Rockstar | 200928T103430Z | Shaggy |
| 025 | Labyrinth | 200928T073623Z | Bubbler |
| 008 | Pyth | 200916T225808Z | Scott |
| 005 | Jelly | 171108T223425Z | caird co |
| 028 | Ahead | 190504T065034Z | snail_ |
| 081 | Dart | 181019T063917Z | Elcan |
| 059 | brainfuck | 171219T040813Z | Jo King |
| 039 | Scala | 181018T231603Z | jrook |
| 013 | K4 | 181018T230915Z | Thaufeki |
| 036 | Julia | 181018T153328Z | EricSher |
| 033 | R | 181018T153243Z | Giuseppe |
| 127 | Whitespace | 181018T144229Z | JosiahRy |
| 042 | MBASIC | 181018T132913Z | wooshiny |
| 082 | sed | 181018T111509Z | eush77 |
| 049 | Pepe | 181018T105418Z | u-ndefin |
| 005 | APL Dyalog | 171108T223308Z | Uriel |
| 120 | Visual Basic .NET Mono | 180131T181331Z | Taylor R |
| 059 | MYBASIC | 180131T055223Z | Taylor R |
| 049 | Yabasic | 180131T181138Z | Taylor R |
| 057 | uBASIC | 180131T055006Z | Taylor R |
| 076 | Kotlin | 171109T173745Z | Trenton |
| 038 | Excel VBA | 171109T050729Z | remoel |
| 074 | SNOBOL4 CSNOBOL4 | 171218T214227Z | Giuseppe |
| 7929 | JsFuck | 171130T025109Z | l4m2 |
| 007 | Japt | 171108T232547Z | Shaggy |
| 037 | Kotlin | 171126T141359Z | ovs |
| nan | Befunge 2x24 = 48 Bytes | 171126T034543Z | Jo King |
| 056 | Kotlin | 171125T233926Z | alves |
| 033 | Vim | 171116T175709Z | Sunny Pu |
| 074 | Java OpenJDK 8 | 171108T234631Z | Olivier |
| 038 | Ruby | 171108T232817Z | displayn |
| 061 | Javascript ES6 | 171116T104911Z | Brian H. |
| 094 | Brainfuck | 171115T021828Z | Bolce Bu |
| 058 | F# .NET Core | 171115T123543Z | aloisdg |
| 028 | Ruby | 171112T222211Z | Ben Aubi |
| 048 | Lua | 171109T104251Z | val - di |
| 026 | Check | 171110T201027Z | Esolangi |
| 013 | CJam | 171110T195058Z | Esolangi |
| 008 | Pushy | 171109T173128Z | FlipTack |
| 057 | C# .NET Core | 171110T153737Z | aloisdg |
| 107 | BrainFlak | 171111T022038Z | DJMcMayh |
| 019 | x8664 machine code function | 171111T005415Z | Peter Co |
| 062 | Underload | 171110T205530Z | Esolangi |
| 011 | Japt | 171110T191014Z | RedClove |
| 056 | C++ | 171109T101111Z | user6846 |
| 050 | C gcc | 171109T160218Z | gastropn |
| 084 | C# .NET Core | 171110T074136Z | Ayb4btu |
| 072 | Javascript | 171109T112101Z | NTCG |
| 002 | 05AB1E | 171109T052151Z | Mr. Xcod |
| 065 | Common Lisp | 171109T213034Z | Renzo |
| 064 | C gcc | 171109T204451Z | cleblanc |
| 065 | JavaScript | 171109T200732Z | xDest |
| 024 | Octave | 171109T141158Z | Stewie G |
| 030 | Ruby | 171109T011814Z | Jordan |
| 043 | Wolfram Language Mathematica | 171109T170736Z | Kelly Lo |
| 068 | TSQL | 171109T163826Z | BradC |
| 027 | Befunge98 FBBI | 171109T010934Z | MercyBea |
| 074 | Acc!! | 171109T152600Z | qqq |
| 011 | MATL | 171109T142216Z | Sanchise |
| nan | 171108T222450Z | Brad Gil | |
| 047 | Elixir | 171109T135219Z | Shashidh |
| 030 | PowerShell | 171109T133943Z | AdmBorkB |
| 017 | J | 171109T082652Z | Galen Iv |
| 016 | K oK | 171109T131855Z | mkst |
| 007 | Brachylog | 171109T131855Z | Fatalize |
| 046 | PHP | 171109T030835Z | Titus |
| 054 | JavaScript ES6 | 171108T230823Z | Arnauld |
| 023 | QBIC | 171109T120033Z | steenber |
| 082 | Rust | 171109T105137Z | Wakawaka |
| 020 | Retina | 171109T075643Z | Martin E |
| 019 | Perl 5 | 171109T055049Z | Xcali |
| 035 | Befunge | 171108T223520Z | James Ho |
| 009 | Japt | 171109T034033Z | Oliver |
| 040 | BASH | 171109T001752Z | Ipor Sir |
| 053 | C gcc | 171109T010153Z | Steadybo |
| 006 | Charcoal | 171109T013008Z | Neil |
| 038 | R | 171109T011539Z | rturnbul |
| 042 | Funky | 171109T011913Z | ATaco |
| 074 | brainfuck | 171109T005951Z | Conor O& |
| 004 | Jelly | 171108T225802Z | Jonathan |
| 113 | JavaScript | 171109T003104Z | Creta |
| 014 | Stacked | 171109T002431Z | Conor O& |
| 033 | Mathematica | 171109T002331Z | ZaMoC |
| 078 | C# .NET Core | 171109T001644Z | Ian H. |
| 037 | Python 3 | 171108T233801Z | Luis Men |
| 027 | Haskell | 171108T224250Z | Laikoni |
| 031 | Haskell | 171108T222825Z | totallyh |
| 009 | Pip | 171108T231330Z | DLosc |
| 033 | VBA | 171108T230539Z | Taylor R |
| 007 | Pyth | 171108T222714Z | Dave |
| 005 | Pyke | 171108T223155Z | Blue |
| 009 | V | 171108T222553Z | DJMcMayh |
| 036 | Python 2 | 171108T222118Z | totallyh |
MATL, 9 bytes
2Y2"@X@Y"
Explanation
2Y2 % Push string 'abc...z'
" % For each char in that string
@ % Push current char
X@ % Push iteration index (1-based)
Y" % Run-length decoding: repeat char that many times
% Implicit end. Implicit display
Bespoke, 234 bytes
when I compose volumes of many English letters
they go in steps,all in single-step advances
look!stairs,in alphabet sequence!is this literal?why,no
I use it,a figurative notion,in teaching someone
to step out to an opening,reaching it
Uses the uppercase alphabet, because PUT XX:SEXTET FOUR (for pushing 64) saves 3 bytes over PUT XX:DIGITNINE SEXTET (for pushing 96).
☾, 8 characters (25 bytes)
ₐ⟕𝘀↨ᴍ⨀
The singleton list with the alphabet then being joined by prepending spaces is all to get the lowercase alphabet with a space prepended with the right operator precedence to save a character (suggested by Ganer)
Pyth, 7 bytes
VG*=hZN
Z is a variable, which is initialized to 0. The code loops through the alphabet G and outputs each time a letter times Z assigned to Z+1. Translated into python this means approximately:
Z = 0
for N in ['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']:
Z+=1
print(N*Z)
There are 3 more Pyth answers to this challenge: 8 bytes, 7 bytes and 9 bytes
OpTeX, 53 bytes
\fornum97..122\do{\fornum97..#1\do{\char#1}\par}\bye
OpTeX is a modernized version of plain TeX. With the code above, the output is correct, but doesn't look good, as the generated document uses by default non mono-spaced font. It's better with \tt (typewriter font), but this adds 3 more bytes.
\tt\fornum97..122\do{\fornum97..#1\do{\char#1}\par}\bye
Pyth, 9 bytes
VlG*@GNhN
V - Loop over (with variable N)
lG - length of G='abc...' (range(26))
* hN - N+1 times
@GN - Nth character of alphabet (G[N])
tinylisp 2, 34 bytes
(m(\(N)(repeat(+ N 96)N""))(1to 26
A full program that outputs a list of lines. Try It Online!
To format the lines nicely is 41 bytes:
(w(} ,(m(\(N)(repeat(+ N 96)N nl))(1to 26
Explanation
(m(\(N)(repeat(+ N 96)N""))(1to 26))
(m ) ; Map
(1to 26) ; to the numbers 1..26
(\(N) ) ; this function:
(+ N 96) ; Add 96 to N
(repeat N ) ; Repeat that value N times
"" ; as characters in a string
Swift 5.10, 65 bytes
(1...26).map{print({String.init}()(.init(format:"%c",$0+96),$0))}
I took a hint from macOSisthebestOS's answer, but chose to generate characters from ASCII code, rather than typing them all out.
Acc!!, 66 64 bytes
Count i while 27-i {
Count j while i-j {
Write 96+i
}
Write 10
}
Outputs with a leading and trailing newline. Try it online!
With comments
# Loop i from 0 to 26
Count i while 27-i {
# Loop j from 0 to i (exclusive)
Count j while i-j {
# Print the i'th letter (1-indexed)
Write 96+i
}
# Print a newline
Write 10
}
Excel, 33 bytes
=REPT(CHAR(ROW(65:90)),ROW(1:26))
Uiua, 10 bytes
⊜□⟜+⊚⇡27@`
Try it. Output as a list of lines.
Explanation:
⊚⇡27
The list [1,2,2,3,3,3,4,…,27,…,27]
⟜+ … @`
Add ` (character before a) to each on a copy.
⊜□
Partition into chunks of the same number (and thus same character), and box each so they can all be in an array together.
Swift 5.9, 79 bytes
zip("abcdefghijklmnopqrstuvwxyz",1...26).map{print({String.init}()($0.0,$0.1))}
While it is possible to create a range over the alphabet using "a"..."z", we can't actually iterate over this range. This is because, while Character does conform to Comparable (which is all we need to create the range), it doesn't conform to Strideable, which is needed to iterate over the range; and so, by extension, ClosedRange<Character> doesn't conform to Sequence, which is needed for for-in loops (and methods like map(_:)). Blame Swift's Unicode support, which seriously complicates the concept of "stride" for characters.
What all this means is that the shortest way of writing the alphabet in Swift (that I know of) is to just... write the alphabet.
YASEPL, 24 bytes
=i`1+=a$i+96»;a,i<!}2,26
Fig, \$7\log_{256}(96)\approx\$ 5.762 bytes
*fcaa26
-2 chars thanks to my clone
*fcaa26 # Returns a list of lines, as allowed in the comments
fca # Split the letters of the alphabet
* # Multiply
a26 # By the range [1, 26]
Zsh (+ coreutils), 30 bytes
eval ';s+=_&&tr<<<$s _ '{a..z}
Pure Zsh, 31 bytes
eval '<<<${(l:++i::'{a..z}:')}'
K (ngn/k), 21 bytes
{{x#(`c$96+x)}'1+!26}
Explanation:
{{x#(`c$96+x)}'1+!26} Main program
'1+!26 For each number in range [1..26] (x) (inclusive)
{ } Execute a function that
(`c$96+x) Display the character with the ASCII code 96 + x
x# x amount of times
Vyxal j, 6 bytes
ka¨2›*
How?
ka¨2›*
ka # Push the lowercase alphabet
¨2 # Map with indices (pushes letter and index)
› # Increment the index to make it one-indexed
* # Repeat the letter that many times
Also 6 bytes:
kaf:ż*
How?
kaf:ż*
ka # Push the lowercase alphabet
f # Convert to list of characters
: # Duplicate it
ż # Push length range [0, length)
* # Repeat each letter that many times
Pyramid Scheme, 965 bytes
^
/ \
/do \
^-----^
/!\ -^
---^ -^
/=\ -^
^---^ -^
/a\ / \ -^
---/26 \ /[\
----- ^---^
^- /[\
^- ^---^
^- / \ -^
^- /set\ -^
^- ^-----^ -^
/ \ /b\ /a\ -^
/set\--- --- /[\
^-----^ ^---^
/a\ /+\ / \ -^
--- ^---^ /do \ -^
/a\ /1\ ^-----^ -^
--- --- /b\ /[\ -^
--- ^---^ -^
/ \ -^ -^
/set\ -^ -^
^-----^ -^ -^
/b\ /-\ -^ -^
--- ^---^ -^ -^
/b\ /1\ / \ -^
--- ---/out\ / \
^-----/out\
/ \ ^-----
/chr\ / \
^-----/chr\
/+\ -----^
^---^ / \
/a\ / \ /10 \
---/96 \ -----
-----
Wow this thing is huge. Nested loops result in a very big program.
tinylisp, 63 62 bytes
(load library
(map string(map* repeat-val(range 97 123)(1to 26
Output as a list of lines.
APOL, 14 bytes
ⅎ(ⓛ p(*(∋ ∈)))
Explanation:
ⅎ( 1-indexed for (f is 0-indexed)
ⓛ The built-in lowercase ascii letters constant
p( Print
*( Multiply
∋ Current item in the for loop
∈ For loop counter
)
)
)
Factor + spelling, 44 bytes
[ ALPHABET [ 1 + swap <string> ] map-index ]
Only works in recent-ish builds of Factor, so have a screenshot instead of a TIO link.
BQN, 11 bytes
⥊¨⟜'`'⊸+↕27
Outputs a list of lines, including an empty line at the beginning. If that's bending the rules too much, here's a 17-byte version that outputs a string (with two leading newlines).
Explanation
⥊¨⟜'`'⊸+↕27
↕27 Range(27)
'`'⊸+ Add the ` character to each (0 -> `, 1 -> a, ..., 26 -> z)
⥊¨⟜ Reshape each: Nth character -> string N characters long
Java (JDK), 68 bytes
n->{for(var i='`';i++<'z';)System.out.println((i+"").repeat(i-96));}
Rockstar, 51 bytes
X's0
while X-26
build X up
cast X+96 into C
say C*X
Try it here (Code will need to be pasted in)
Labyrinth, 25 bytes
\#"_2@
; -6
("##
. _
+59
Prints with one leading and one trailing newline.
Start at the top left, going East
\ Print a newline
#" Push stack height (" is no-op)
_26- Subtract 26; if negative, turn left (South); if zero, turn backwards (East)
62@ Zero case (after 26 loops): halt after a few dummy instructions
## Negative case (after n loops): push stack height twice
(n -- inner loop counter k, then n+1)
_95+ Add 95
. Print as char
( Decrement k; if positive, turn right (East); if zero, go straight (North)
"#_ Positive case: repeat inner loop
; Zero case: remove k and repeat outer loop
Pyth, 9 8 bytes
m*dhxGdG
m*dhxGdG
m G Map through the alphabet, with current letter as variable 'd'
hxGd Index of d in alphabet, + 1
*d Repeat current letter ↑ that many times.
VUG*hN@GN
In English; utilizing G as a auto-initialised variable of the alphabet:
Loop through list of 0-25:
print (i++ * letter at index i)
Jelly, 7 6 5 bytes
Øax"J
-1 byte thanks to dylnan
Returns a list of lines
How it works
Øax"J - Main link. No arguments
Øa - Lower case alphabet
x" - each character repeated...
J - range(len) times (vectorises)
An alternative (which I prefer, but is longer):
ØaḊLСUZYṚ
Dart, 81 bytes
List.generate(26,(i)=>''.padRight(i+1,String.fromCharCode(i+97))).forEach(print);
brainfuck, 70 59 bytes
-<--[[<+>->----<]++>]<-<-<<[>>>[-<.>>+<]>[-<+>]<[+<]>->.->]
-<--[[<+>->----<]++>]<-<-<<
Sets the tape up as:
254
9 Newline (10-1)
230' Loop counter (-26)
114
65 Character (A)
1 Repeat counter
[ Loop 26 times
>>>[-<.>>+<] Print the character repeat counter times while preserving the counter
>[-<+>] Restore counter
<[+<] Increment everything
>->.-> Print a newline
]
K4, 13 bytes
(1+!26)#'.Q.a
Output:
q)k)(1+!26)#'.Q.a
,"a"
"bb"
"ccc"
"dddd"
"eeeee"
"ffffff"
"ggggggg"
"hhhhhhhh"
"iiiiiiiii"
"jjjjjjjjjj"
"kkkkkkkkkkk"
"llllllllllll"
"mmmmmmmmmmmmm"
"nnnnnnnnnnnnnn"
"ooooooooooooooo"
"pppppppppppppppp"
"qqqqqqqqqqqqqqqqq"
"rrrrrrrrrrrrrrrrrr"
"sssssssssssssssssss"
"tttttttttttttttttttt"
"uuuuuuuuuuuuuuuuuuuuu"
"vvvvvvvvvvvvvvvvvvvvvv"
"wwwwwwwwwwwwwwwwwwwwwww"
"xxxxxxxxxxxxxxxxxxxxxxxx"
"yyyyyyyyyyyyyyyyyyyyyyyyy"
"zzzzzzzzzzzzzzzzzzzzzzzzzz"
Julia, 42 36 bytes
[println(l^(l-'`')) for l∈'a':'z']
R, 33 bytes
cat(strrep(letters,1:26),sep="
")
This challenge got bumped to main; I tried a strrep approach which was happily shorter than the other existing R answer.
Whitespace, 127 bytes
Because the syntax is entirely in whitespace characters, each character is prefixed with S, T, or L (for Space, Tab, and Linefeed, respectively).
S S S T L
L
S S L
S L
S S L
S S S S T T S S S S S L
T S S S L
S S T L
S L
S T L
S S S L
T S S S T L
T S S T S L
S L
T S T S L
S L
T L
S L
T L
L
S S T S L
S L
L
S L
L
S S S T S T S L
T L
S S S S S T L
T S S S S L
S S S S T T S T T L
T S S T L
T T L
L
L
L
MBASIC, 42 bytes
1 FOR I=1 TO 26:PRINT STRING$(I,96+I):NEXT
sed, 82 bytes
s:^:a:
:A
p
y:abcdefghijklmnopqrstuvwxy:bcdefghijklmnopqrstuvwxyz:
s:.:&&:
/z/q
bA
Loop from a to z. The last line is printed implicitly, preceding lines are printed with a p.
Pepe, 49 bytes
rEeEEeeeeEREeEEEEeEEREEreeereeErEEEeErEEEEEeeERee
Explanation:
rEeEEeeeeE # Push A (r)
REeEEEEeEE # Push 91 (Z + 1) (R)
REE # Start loop labeled 91
# | All the following commands below operate on r
reee # | Output whole stack of r
reeE # | Output newline "\n"
rEEEeE # | Duplicate char to end
rEEEEEeeE # | Increment whole stack
Ree # If r != 91, repeat loop
APL (Dyalog), 12 8 5 bytes SBCS
3 bytes saved thanks to @ngn
4 bytes saved thanks to @Adám
⍴⍨⌸⎕A
OP clarified uppercase letters are valid, as well as output as an array of strings.
How?
⌸ gives us every letter in the ⎕A lphabet with its indexes in it, handed into the function ⍴⍨ with the letter as left argument and the indexes as right argument.
⍴⍨ resha ⍴ es its right argument to the length supplied by its left one. ⍨ switches the left and right (therefore the symbol of it, looking like the face of someone reading this explanation).
Visual Basic .NET (Mono), 120 bytes
Another BASIC answer
Module M
Sub Main
Dim S,I,J
For I=1To 26
S=""
For J=1To I
S+=Chr(I+64)
Next
Console.WriteLine(S)
Next
End Sub
End Module
MY-BASIC, 59 bytes
Anonymous Function that takes no input and outputs to the console.
For I=1 To 26
For J=1 To I
Print Chr(I+64)
Next
Print;
Next
Yabasic, 49 bytes
A BASIC answer that takes no input and outputs to the console.
For I=1To 26
For J=1To I
?Chr$(I+64);
Next
?
Next
uBASIC, 57 bytes
Anonymous function that takes no input and outputs to the console.
0ForI=1To26:ForJ=1ToI:?Left$(Chr$(I+64),1);:NextJ:?:NextI
Kotlin, 76 bytes
for(i in 0..25){var j=0;while(j<=i){print((i+97).toChar());j++};print("\n")}
Excel VBA, 38 bytes
Using Immediate Window. :)
[A1:A26]="=REPT(CHAR(96+ROW()),ROW())"
SNOBOL4 (CSNOBOL4), 74 bytes
O &LCASE POS(I) LEN(1) . X
I =I + 1
OUTPUT =LE(I,26) DUPL(X,I) :S(O)
END
O &LCASE POS(I) LEN(1) . X ;* set X to I'th 0-indexed character of lowercase letters
I =I + 1 ;* increment I
OUTPUT =LE(I,26) DUPL(X,I) :S(O) ;* if I<=26, output X DUPLicated I times and goto O otherwise goto END
END
JsFuck, 7929c
[][(![]+[])[!![]+!![]+!![]]+(![]+[])[!![]+!![]]+([![]]+[][[]])[+!![]+[+[]]]+([]+[][(![]+[])[+[]]+([![]]+[][[]])[+!![]+[+[]]]+(![]+[])[!![]+!![]]+(![]+[])[!![]+!![]]])[!![]+!![]+!![]]+(!![]+[])[!![]+!![]+!![]]][([]+[][(![]+[])[+[]]+([![]]+[][[]])[+!![]+[+[]]]+(![]+[])[!![]+!![]]+(![]+[])[!![]+!![]]])[!![]+!![]+!![]]+(![]+[])[+!![]]+(![]+[])[!![]+!![]]+(![]+[])[!![]+!![]]]([!![]]+[][[]]+[][[]]+!![])[(![]+[])[+[]]+([![]]+[][[]])[+!![]+[+[]]]+(![]+[])[!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[!![]+!![]+!![]]+(!![]+[])[+!![]]]([][(![]+[])[+[]]+([![]]+[][[]])[+!![]+[+[]]]+(![]+[])[!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[!![]+!![]+!![]]+(!![]+[])[+!![]]][([]+[][(![]+[])[+[]]+([![]]+[][[]])[+!![]+[+[]]]+(![]+[])[!![]+!![]]+(![]+[])[!![]+!![]]])[!![]+!![]+!![]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!![]+[+[]]]+(![]+[])[!![]+!![]]+(![]+[])[!![]+!![]]])[+!![]+[+[]]]+([][[]]+[])[+!![]]+(![]+[])[!![]+!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[+!![]]+([][[]]+[])[+[]]+([]+[][(![]+[])[+[]]+([![]]+[][[]])[+!![]+[+[]]]+(![]+[])[!![]+!![]]+(![]+[])[!![]+!![]]])[!![]+!![]+!![]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!![]+[+[]]]+(![]+[])[!![]+!![]]+(![]+[])[!![]+!![]]])[+!![]+[+[]]]+(!![]+[])[+!![]]]((![]+[])[+[]]+([]+[])[(![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!![]+[+[]]]+(![]+[])[!![]+!![]]+(![]+[])[!![]+!![]]])[+!![]+[+[]]]+([][[]]+[])[+!![]]+(!![]+[])[+[]]+([]+[][(![]+[])[+[]]+([![]]+[][[]])[+!![]+[+[]]]+(![]+[])[!![]+!![]]+(![]+[])[!![]+!![]]])[!![]+!![]+!![]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!![]+[+[]]]+(![]+[])[!![]+!![]]+(![]+[])[!![]+!![]]])[+!![]+[+[]]]+(![]+[])[!![]+!![]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!![]+[+[]]]+(![]+[])[!![]+!![]]+(![]+[])[!![]+!![]]])[+!![]+[+[]]]+(!![]+[])[+!![]]]()[+!![]+[+!![]]]+(+!![])+(+[])+(+[![]]+[][(![]+[])[+[]]+([![]]+[][[]])[+!![]+[+[]]]+(![]+[])[!![]+!![]]+(![]+[])[!![]+!![]]])[!![]+!![]+[+[]]]+(!![]+[])[+!![]]+(!![]+[])[!![]+!![]+!![]]+(!![]+[])[+[]]+([][[]]+[])[+[]]+(!![]+[])[+!![]]+([][[]]+[])[+!![]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!![]+[+[]]]+(![]+[])[!![]+!![]]+(![]+[])[!![]+!![]]]+[])[!![]+!![]+[+[]]]+[][[]]+([]+[])[(![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!![]+[+[]]]+(![]+[])[!![]+!![]]+(![]+[])[!![]+!![]]])[+!![]+[+[]]]+([][[]]+[])[+!![]]+(!![]+[])[+[]]+([]+[][(![]+[])[+[]]+([![]]+[][[]])[+!![]+[+[]]]+(![]+[])[!![]+!![]]+(![]+[])[!![]+!![]]])[!![]+!![]+!![]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!![]+[+[]]]+(![]+[])[!![]+!![]]+(![]+[])[!![]+!![]]])[+!![]+[+[]]]+(![]+[])[!![]+!![]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!![]+[+[]]]+(![]+[])[!![]+!![]]+(![]+[])[!![]+!![]]])[+!![]+[+[]]]+(!![]+[])[+!![]]]()[+!![]+[+!![]]]+([]+[])[(![]+[])[!![]+!![]+!![]]+([][[]]+[])[+[]]+([][(!![]+[])[!![]+!![]+!![]]+([][[]]+[])[+!![]]+(!![]+[])[+[]]+(!![]+[])[+!![]]+([![]]+[][[]])[+!![]+[+[]]]+(!![]+[])[!![]+!![]+!![]]+(![]+[])[!![]+!![]+!![]]]()+[])[!![]+!![]]]()[+!![]+[+[]]]+([]+[][(![]+[])[+[]]+([![]]+[][[]])[+!![]+[+[]]]+(![]+[])[!![]+!![]]+(![]+[])[!![]+!![]]])[!![]+!![]+!![]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!![]+[+[]]]+(![]+[])[!![]+!![]]+(![]+[])[!![]+!![]]])[+!![]+[+[]]]+([][[]]+[])[+!![]]+(![]+[])[!![]+!![]+!![]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!![]+[+[]]]+(![]+[])[!![]+!![]]+(![]+[])[!![]+!![]]])[+!![]+[+[]]]+(![]+[])[!![]+!![]]+(!![]+[])[!![]+!![]+!![]]+(+(+!![]+[+!![]]+(!![]+[])[!![]+!![]+!![]]+(!![]+!![])+(+[]))+[])[+!![]]+(![]+[])[!![]+!![]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!![]+[+[]]]+(![]+[])[!![]+!![]]+(![]+[])[!![]+!![]]])[+!![]+[+[]]]+(+[]+[![]]+([]+[])[([]+[][(![]+[])[+[]]+([![]]+[][[]])[+!![]+[+[]]]+(![]+[])[!![]+!![]]+(![]+[])[!![]+!![]]])[!![]+!![]+!![]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!![]+[+[]]]+(![]+[])[!![]+!![]]+(![]+[])[!![]+!![]]])[+!![]+[+[]]]+([][[]]+[])[+!![]]+(![]+[])[!![]+!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[+!![]]+([][[]]+[])[+[]]+([]+[][(![]+[])[+[]]+([![]]+[][[]])[+!![]+[+[]]]+(![]+[])[!![]+!![]]+(![]+[])[!![]+!![]]])[!![]+!![]+!![]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!![]+[+[]]]+(![]+[])[!![]+!![]]+(![]+[])[!![]+!![]]])[+!![]+[+[]]]+(!![]+[])[+!![]]])[!![]+!![]+[+[]]]+([]+[][(![]+[])[+[]]+([![]]+[][[]])[+!![]+[+[]]]+(![]+[])[!![]+!![]]+(![]+[])[!![]+!![]]])[+!![]+[!![]+!![]+!![]]]+(![]+[])[+[]]+(+(+!![]+[+!![]]+(!![]+[])[!![]+!![]+!![]]+(!![]+!![])+(+[]))+[])[+!![]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!![]+[+[]]]+(![]+[])[!![]+!![]]+(![]+[])[!![]+!![]]])[+!![]+[+[]]]+([]+[])[([]+[][(![]+[])[+[]]+([![]]+[][[]])[+!![]+[+[]]]+(![]+[])[!![]+!![]]+(![]+[])[!![]+!![]]])[!![]+!![]+!![]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!![]+[+[]]]+(![]+[])[!![]+!![]]+(![]+[])[!![]+!![]]])[+!![]+[+[]]]+([][[]]+[])[+!![]]+(![]+[])[!![]+!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[+!![]]+([][[]]+[])[+[]]+([]+[][(![]+[])[+[]]+([![]]+[][[]])[+!![]+[+[]]]+(![]+[])[!![]+!![]]+(![]+[])[!![]+!![]]])[!![]+!![]+!![]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!![]+[+[]]]+(![]+[])[!![]+!![]]+(![]+[])[!![]+!![]]])[+!![]+[+[]]]+(!![]+[])[+!![]]][([][[]]+[])[+!![]]+(![]+[])[+!![]]+([]+(+[])[([]+[][(![]+[])[+[]]+([![]]+[][[]])[+!![]+[+[]]]+(![]+[])[!![]+!![]]+(![]+[])[!![]+!![]]])[!![]+!![]+!![]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!![]+[+[]]]+(![]+[])[!![]+!![]]+(![]+[])[!![]+!![]]])[+!![]+[+[]]]+([][[]]+[])[+!![]]+(![]+[])[!![]+!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[+!![]]+([][[]]+[])[+[]]+([]+[][(![]+[])[+[]]+([![]]+[][[]])[+!![]+[+[]]]+(![]+[])[!![]+!![]]+(![]+[])[!![]+!![]]])[!![]+!![]+!![]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!![]+[+[]]]+(![]+[])[!![]+!![]]+(![]+[])[!![]+!![]]])[+!![]+[+[]]]+(!![]+[])[+!![]]])[+!![]+[+!![]]]+(!![]+[])[!![]+!![]+!![]]]+([]+[][(![]+[])[+[]]+([![]]+[][[]])[+!![]+[+[]]]+(![]+[])[!![]+!![]]+(![]+[])[!![]+!![]]])[+!![]+[!![]+!![]+!![]]]+(!![]+!![]+!![])+(!![]+!![]+!![]+!![]+!![]+!![])+(+[]+[![]]+[][(![]+[])[+[]]+([![]]+[][[]])[+!![]+[+[]]]+(![]+[])[!![]+!![]]+(![]+[])[!![]+!![]]])[!![]+!![]+[+[]]]+(+(+!![]+[+!![]]+(!![]+[])[!![]+!![]+!![]]+(!![]+!![])+(+[]))+[])[+!![]]+(!![]+[])[+!![]]+(!![]+[])[!![]+!![]+!![]]+(+[![]]+[][(![]+[])[+[]]+([![]]+[][[]])[+!![]+[+[]]]+(![]+[])[!![]+!![]]+(![]+[])[!![]+!![]]][([]+[][(![]+[])[+[]]+([![]]+[][[]])[+!![]+[+[]]]+(![]+[])[!![]+!![]]+(![]+[])[!![]+!![]]])[!![]+!![]+!![]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!![]+[+[]]]+(![]+[])[!![]+!![]]+(![]+[])[!![]+!![]]])[+!![]+[+[]]]+([][[]]+[])[+!![]]+(![]+[])[!![]+!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[+!![]]+([][[]]+[])[+[]]+([]+[][(![]+[])[+[]]+([![]]+[][[]])[+!![]+[+[]]]+(![]+[])[!![]+!![]]+(![]+[])[!![]+!![]]])[!![]+!![]+!![]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!![]+[+[]]]+(![]+[])[!![]+!![]]+(![]+[])[!![]+!![]]])[+!![]+[+[]]]+(!![]+[])[+!![]]]((!![]+[])[+!![]]+(!![]+[])[!![]+!![]+!![]]+(!![]+[])[+[]]+([][[]]+[])[+[]]+(!![]+[])[+!![]]+([][[]]+[])[+!![]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!![]+[+[]]]+(![]+[])[!![]+!![]]+(![]+[])[!![]+!![]]]+[])[!![]+!![]+[+[]]]+([][(!![]+[])[!![]+!![]+!![]]+([][[]]+[])[+!![]]+(!![]+[])[+[]]+(!![]+[])[+!![]]+([![]]+[][[]])[+!![]+[+[]]]+(!![]+[])[!![]+!![]+!![]]+(![]+[])[!![]+!![]+!![]]]()+[])[!![]+!![]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!![]+[+[]]]+(![]+[])[!![]+!![]]+(![]+[])[!![]+!![]]])[+!![]+[+[]]]+(![]+[])[+!![]])()([][[]]))[+!![]+[+[]]]+(!![]+[])[!![]+!![]+!![]]+(![]+[])[+!![]]+(!![]+[])[+[]]+([]+[][(![]+[])[+[]]+([![]]+[][[]])[+!![]+[+[]]]+(![]+[])[!![]+!![]]+(![]+[])[!![]+!![]]])[+!![]+[!![]+!![]+!![]]]+(+(+!![]+(!![]+[])[!![]+!![]+!![]]+(+!![])+(+[])+(+[]))+[])[!![]+!![]]+(+(+!![]+(!![]+[])[!![]+!![]+!![]]+(+!![])+(+[])+(+[]))+[])[!![]+!![]]+(![]+[])[+[]]+(+((+(+!![]+[+!![]]+(!![]+[])[!![]+!![]+!![]]+(!![]+!![])+(+[]))+[])[+!![]]+(+[])+(+[])+(+[])+(+[])+(+[])+(+[])+(+[])+(+[])+(+[])+(+!![]))+[])[!![]+!![]]+(+!![])+(+[])+(+[]+[![]]+[][(![]+[])[+[]]+([![]]+[][[]])[+!![]+[+[]]]+(![]+[])[!![]+!![]]+(![]+[])[!![]+!![]]])[!![]+!![]+[+[]]]+(+[]+[![]]+[][(![]+[])[+[]]+([![]]+[][[]])[+!![]+[+[]]]+(![]+[])[!![]+!![]]+(![]+[])[!![]+!![]]])[!![]+!![]+[+[]]])())
From
[].slice.call('trueundefinedundefinedtrue').filter([].filter.constructor('f=10\nreturn undefined=>console.log(f.toString(36).repeat(++f-10))')())
JsFuck, 7961c
[][(![]+[])[+[]]+([![]]+[][[]])[+!![]+[+[]]]+(![]+[])[!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[!![]+!![]+!![]]+(!![]+[])[+!![]]][([]+[][(![]+[])[+[]]+([![]]+[][[]])[+!![]+[+[]]]+(![]+[])[!![]+!![]]+(![]+[])[!![]+!![]]])[!![]+!![]+!![]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!![]+[+[]]]+(![]+[])[!![]+!![]]+(![]+[])[!![]+!![]]])[+!![]+[+[]]]+([][[]]+[])[+!![]]+(![]+[])[!![]+!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[+!![]]+([][[]]+[])[+[]]+([]+[][(![]+[])[+[]]+([![]]+[][[]])[+!![]+[+[]]]+(![]+[])[!![]+!![]]+(![]+[])[!![]+!![]]])[!![]+!![]+!![]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!![]+[+[]]]+(![]+[])[!![]+!![]]+(![]+[])[!![]+!![]]])[+!![]+[+[]]]+(!![]+[])[+!![]]]([][(![]+[])[+[]]+([![]]+[][[]])[+!![]+[+[]]]+(![]+[])[!![]+!![]]+(![]+[])[!![]+!![]]][([]+[][(![]+[])[+[]]+([![]]+[][[]])[+!![]+[+[]]]+(![]+[])[!![]+!![]]+(![]+[])[!![]+!![]]])[!![]+!![]+!![]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!![]+[+[]]]+(![]+[])[!![]+!![]]+(![]+[])[!![]+!![]]])[+!![]+[+[]]]+([][[]]+[])[+!![]]+(![]+[])[!![]+!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[+!![]]+([][[]]+[])[+[]]+([]+[][(![]+[])[+[]]+([![]]+[][[]])[+!![]+[+[]]]+(![]+[])[!![]+!![]]+(![]+[])[!![]+!![]]])[!![]+!![]+!![]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!![]+[+[]]]+(![]+[])[!![]+!![]]+(![]+[])[!![]+!![]]])[+!![]+[+[]]]+(!![]+[])[+!![]]]((!![]+[])[+!![]]+(!![]+[])[!![]+!![]+!![]]+(!![]+[])[+[]]+([][[]]+[])[+[]]+(!![]+[])[+!![]]+([][[]]+[])[+!![]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!![]+[+[]]]+(![]+[])[!![]+!![]]+(![]+[])[!![]+!![]]]+[])[!![]+!![]+[+[]]]+([][[]]+[])[+[]]+([][[]]+[])[+!![]]+(!![]+[])[!![]+!![]+!![]]+(![]+[])[!![]+!![]+!![]]+([]+[][(![]+[])[+[]]+([![]]+[][[]])[+!![]+[+[]]]+(![]+[])[!![]+!![]]+(![]+[])[!![]+!![]]])[!![]+!![]+!![]]+(![]+[])[+!![]]+(+[![]]+[][(![]+[])[+[]]+([![]]+[][[]])[+!![]+[+[]]]+(![]+[])[!![]+!![]]+(![]+[])[!![]+!![]]][([]+[][(![]+[])[+[]]+([![]]+[][[]])[+!![]+[+[]]]+(![]+[])[!![]+!![]]+(![]+[])[!![]+!![]]])[!![]+!![]+!![]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!![]+[+[]]]+(![]+[])[!![]+!![]]+(![]+[])[!![]+!![]]])[+!![]+[+[]]]+([][[]]+[])[+!![]]+(![]+[])[!![]+!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[+!![]]+([][[]]+[])[+[]]+([]+[][(![]+[])[+[]]+([![]]+[][[]])[+!![]+[+[]]]+(![]+[])[!![]+!![]]+(![]+[])[!![]+!![]]])[!![]+!![]+!![]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!![]+[+[]]]+(![]+[])[!![]+!![]]+(![]+[])[!![]+!![]]])[+!![]+[+[]]]+(!![]+[])[+!![]]]((!![]+[])[+!![]]+(!![]+[])[!![]+!![]+!![]]+(!![]+[])[+[]]+([][[]]+[])[+[]]+(!![]+[])[+!![]]+([][[]]+[])[+!![]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!![]+[+[]]]+(![]+[])[!![]+!![]]+(![]+[])[!![]+!![]]]+[])[!![]+!![]+[+[]]]+([][(!![]+[])[!![]+!![]+!![]]+([][[]]+[])[+!![]]+(!![]+[])[+[]]+(!![]+[])[+!![]]+([![]]+[][[]])[+!![]+[+[]]]+(!![]+[])[!![]+!![]+!![]]+(![]+[])[!![]+!![]+!![]]]()+[])[!![]+!![]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!![]+[+[]]]+(![]+[])[!![]+!![]]+(![]+[])[!![]+!![]]])[+!![]+[+[]]]+(![]+[])[+!![]])()([][[]]))[+!![]+[+[]]]+(!![]+[])[!![]+!![]+!![]])()(((!![]+[])[+!![]]+(!![]+[])[!![]+!![]+!![]]+(!![]+[])[+[]]+([][[]]+[])[+[]]+(!![]+[])[+!![]]+([][[]]+[])[+!![]]+![]+(!![]+!![])+(+[])+(![]+[])[+[]]+![]+(!![]+!![]+!![])+([][[]]+[])[!![]+!![]]+![]+(!![]+!![])+(!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(!![]+[])[+[]]+![]+(!![]+!![]+!![])+([][[]]+[])[!![]+!![]]+(+!![])+(+[])+![]+(!![]+!![])+(!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+![]+(!![]+!![]+!![])+([][[]]+[])[!![]+!![]]+![]+(!![]+!![]+!![])+(!![]+[])[!![]+!![]+!![]]+(!![]+[])[+[]]+![]+(!![]+!![])+([][[]]+[])[!![]+!![]]+(!![]+!![]+!![])+(!![]+!![]+!![]+!![]+!![]+!![])+![]+(!![]+!![]+!![])+(![]+[])[+[]]+(!![]+[])[+[]]+![]+(!![]+!![])+(!![]+[])[!![]+!![]+!![]]+(!![]+[])[+[]]+![]+(!![]+!![]+!![]+!![]+!![]+!![])+(![]+[])[+[]]+![]+(!![]+!![]+!![]+!![]+!![])+(!![]+!![]+!![])+(!![]+[])[+[]]+(!![]+[])[+!![]]+([![]]+[][[]])[+!![]+[+[]]]+([][[]]+[])[+!![]]+![]+(!![]+!![]+!![]+!![]+!![]+!![])+(!![]+!![]+!![]+!![]+!![]+!![]+!![])+![]+(!![]+!![])+(!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(!![]+!![]+!![])+(!![]+!![]+!![]+!![]+!![]+!![])+![]+(!![]+!![])+(!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+![]+(!![]+!![])+(!![]+[])[!![]+!![]+!![]]+(!![]+[])[+!![]]+(!![]+[])[!![]+!![]+!![]]+![]+(!![]+!![]+!![]+!![]+!![]+!![]+!![])+(+[])+(!![]+[])[!![]+!![]+!![]]+(![]+[])[+!![]]+(!![]+[])[+[]]+![]+(!![]+!![])+(!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(+(+!![]+(!![]+[])[!![]+!![]+!![]]+(+!![])+(+[])+(+[]))+[])[!![]+!![]]+(+(+!![]+(!![]+[])[!![]+!![]+!![]]+(+!![])+(+[])+(+[]))+[])[!![]+!![]]+(!![]+[])[+[]]+![]+(!![]+!![])+([][[]]+[])[!![]+!![]]+(+!![])+(+[])+![]+(!![]+!![])+(!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(+(+!![]+(!![]+[])[!![]+!![]+!![]]+(+!![])+(+[])+(+[]))+[])[!![]+!![]]+![]+(!![]+!![]+!![]+!![]+!![]+!![])+(+[])+![]+(+[])+(![]+[])[+!![]]+![]+(!![]+!![]+!![]+!![]+!![]+!![])+(+[])+(+(+!![]+(!![]+[])[!![]+!![]+!![]]+(+!![])+(+[])+(+[]))+[])[!![]+!![]]+(![]+[])[+[]]+![]+(!![]+!![])+(!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(!![]+[])[+[]]+![]+(!![]+!![])+(!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+![]+(!![]+!![]+!![])+(![]+[])[+!![]]+![]+(!![]+!![])+(!![]+!![])+![]+(!![]+!![])+(!![]+!![]))[(![]+[])[!![]+!![]+!![]]+(+[![]]+[][(![]+[])[+[]]+([![]]+[][[]])[+!![]+[+[]]]+(![]+[])[!![]+!![]]+(![]+[])[!![]+!![]]][([]+[][(![]+[])[+[]]+([![]]+[][[]])[+!![]+[+[]]]+(![]+[])[!![]+!![]]+(![]+[])[!![]+!![]]])[!![]+!![]+!![]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!![]+[+[]]]+(![]+[])[!![]+!![]]+(![]+[])[!![]+!![]]])[+!![]+[+[]]]+([][[]]+[])[+!![]]+(![]+[])[!![]+!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[+!![]]+([][[]]+[])[+[]]+([]+[][(![]+[])[+[]]+([![]]+[][[]])[+!![]+[+[]]]+(![]+[])[!![]+!![]]+(![]+[])[!![]+!![]]])[!![]+!![]+!![]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!![]+[+[]]]+(![]+[])[!![]+!![]]+(![]+[])[!![]+!![]]])[+!![]+[+[]]]+(!![]+[])[+!![]]]((!![]+[])[+!![]]+(!![]+[])[!![]+!![]+!![]]+(!![]+[])[+[]]+([][[]]+[])[+[]]+(!![]+[])[+!![]]+([][[]]+[])[+!![]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!![]+[+[]]]+(![]+[])[!![]+!![]]+(![]+[])[!![]+!![]]]+[])[!![]+!![]+[+[]]]+([][(!![]+[])[!![]+!![]+!![]]+([][[]]+[])[+!![]]+(!![]+[])[+[]]+(!![]+[])[+!![]]+([![]]+[][[]])[+!![]+[+[]]]+(!![]+[])[!![]+!![]+!![]]+(![]+[])[!![]+!![]+!![]]]()+[])[!![]+!![]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!![]+[+[]]]+(![]+[])[!![]+!![]]+(![]+[])[!![]+!![]]])[+!![]+[+[]]]+(![]+[])[+!![]])()([][[]]))[+!![]+[+[]]]+(![]+[])[!![]+!![]]+([![]]+[][[]])[+!![]+[+[]]]+(!![]+[])[+[]]](![])[([][(!![]+[])[!![]+!![]+!![]]+([][[]]+[])[+!![]]+(!![]+[])[+[]]+(!![]+[])[+!![]]+([![]]+[][[]])[+!![]+[+[]]]+(!![]+[])[!![]+!![]+!![]]+(![]+[])[!![]+!![]+!![]]]()+[])[!![]+!![]+!![]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!![]+[+[]]]+(![]+[])[!![]+!![]]+(![]+[])[!![]+!![]]])[+!![]+[+[]]]+([![]]+[][[]])[+!![]+[+[]]]+([][[]]+[])[+!![]]]([][(![]+[])[+[]]+([![]]+[][[]])[+!![]+[+[]]]+(![]+[])[!![]+!![]]+(![]+[])[!![]+!![]]][([]+[][(![]+[])[+[]]+([![]]+[][[]])[+!![]+[+[]]]+(![]+[])[!![]+!![]]+(![]+[])[!![]+!![]]])[!![]+!![]+!![]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!![]+[+[]]]+(![]+[])[!![]+!![]]+(![]+[])[!![]+!![]]])[+!![]+[+[]]]+([][[]]+[])[+!![]]+(![]+[])[!![]+!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[+!![]]+([][[]]+[])[+[]]+([]+[][(![]+[])[+[]]+([![]]+[][[]])[+!![]+[+[]]]+(![]+[])[!![]+!![]]+(![]+[])[!![]+!![]]])[!![]+!![]+!![]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!![]+[+[]]]+(![]+[])[!![]+!![]]+(![]+[])[!![]+!![]]])[+!![]+[+[]]]+(!![]+[])[+!![]]]((!![]+[])[+!![]]+(!![]+[])[!![]+!![]+!![]]+(!![]+[])[+[]]+([][[]]+[])[+[]]+(!![]+[])[+!![]]+([][[]]+[])[+!![]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!![]+[+[]]]+(![]+[])[!![]+!![]]+(![]+[])[!![]+!![]]]+[])[!![]+!![]+[+[]]]+(![]+[])[+!![]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!![]+[+[]]]+(![]+[])[!![]+!![]]+(![]+[])[!![]+!![]]])[+!![]+[+[]]]+([][(!![]+[])[!![]+!![]+!![]]+([][[]]+[])[+!![]]+(!![]+[])[+[]]+(!![]+[])[+!![]]+([![]]+[][[]])[+!![]+[+[]]]+(!![]+[])[!![]+!![]+!![]]+(![]+[])[!![]+!![]+!![]]]()+[])[!![]+!![]])()(+[]+[+[]]+(+[])+(![]+[])[!![]+!![]])[!![]+!![]])))
From
[].filter.constructor(unescape('returnfalse20ffalse3dfalse28tfalse3d10false29false3dfalse3etfalse2d36false3ftfalse2etfalse6ffalse53trinfalse67false2836false29false2erefalse70eatfalse28++tfalse2d10false29+false60false0afalse60+ffalse28tfalse29false3afalse22false22'.split(false).join('%')))
Both work on Firefox, because I only have it
Japt, 9 7 bytes
Outputs an array of lines
;C¬Ëp°E
Explanation
Split (¬) the lowercase alphabet (;C) to an array of characters, map over the array (Ë) and repeat (p) the current element by the current index (E) incremented (°) times.
Befunge 2x24 = 48 Bytes
I know the other befunge answer has me solidly beat, but I thought I'd post my solution anyway, as it's interesting, since it's partially self-modifying.
"z`"-:!_> 10g\v v!:_0# p
g01+55$_^#!:-1<@_,1^01-1
How it works
"?`"-:!
Gets how many times to iterate. (The question mark represents the current letter)
_> 10g\v
_^#!:-1<
Adds the iteration size*char into the stack.
_0# p
g01+55$_ ^01-1
Pops the excess character and adds a newline. Gets the current character from 1,0 and decrements it, putting back at 1,0
"?`"-:!_ _0# p
Now the ? inside the quotes has been decremented. Once it has run through all the letters it runs backwards from the underscore, which was the tricky part. ! inverts the excess 0 to a 1, which is duplicated and subtracted from itself, turning it back to a 0. The 0 is put at (97,97) thanks to the backticks inside the quotes and the put command. This leaves just the original iteration size, which is 0, when it hits the underscore, pushing the pointer left.
v!:_
@_,1^
Prints out the whole stack, which at this point is a newline separated alphabet staircase.
Vim, 33 Keystrokes
:h<_␍jjYZZiyl0pr␛pqq{<C-a>YG@"q25@q{D
Explanation
:h<_␍jjYZZ " get a-z
iyl0pr " Put yl0pr as macro line
␛p " Back to normal mode and paste
qq " Record macro
{ " Go to macro line
<C-a> " Increment counter
Y " Yank the macro
G " Go to last line
@" " Run the macro (also adds \r)
q " Stop recording @q
25@q " Run @q 25 times
{D " go to top and clear the line
Had experimented with this which inspired the above Macro line:
:h<_␍jjYZZP:exe ":norm yl".line('.')."ps^M"␍25@:
Thought about putting a-z on separate lines and global replace with repeat, but can't make :%s/./\=repeat(\0,line('.'))/g work -- and that's long.
Java (OpenJDK 8), 74 bytes
n->{for(int i=1,j=0;i<27;)System.out.printf("%c",j++<i?96+i:10+(j-=++i));}
6 bytes saved thanks to @KevinCruijssen
Explanations
n->{ // Lambda, unused parameter
for(int i=1,j=0;i<27;) // Loop from 1 to 26 included
System.out.printf("%c", // Print a character
j++<i // Do we need to print a letter or a new line?
?96+i // It's a character, construct it.
:10+(j-=++i) // It's a new line, increment i and reset j to 0.
);
}
Ruby, 38 bytes
Returns an Array of strings
->{(a=*?a..?z).map{|x|x*-~a.index(x)}}
-5 bytes thanks to totallyhuman
*-11 bytes thanks to some excellent golfing by Jordan.
Javascript (ES6) 61 bytes
_=>[...Array(26)].map((_,i)=>(10+i).toString(36).repeat(i+1))
Javascript (ES6) 62 bytes
_=>[..."abcdefghijklmnopqrstuvwxyz"].map((v,i)=>v.repeat(i+1))
I'm aware there's a better answer already for js, still wanted to post these, feel free to suggest any improvement as long as it keeps the "methodology" intact. (for readability im using underscores for unused variables)
Brainfuck, 107 104 94 Bytes
>>>>++[<<<+++++++++++++>>++++[<++++++++>-]>>+++++<-]<<+>+[<]>[>>[<.>>+<-]>>.<<<+>+>[<+>-]<<<-]
How it works:
>>>>++[<<<+++++++++++++>>++++[<++++++++>-]>>+++++<-]<<+>+
Stores 26 on the second cell, 65 on the third cell, 10 on the sixth cell, and 1 on the fourth, leaving the pointer on the fourth (Saved 3 13 bytes by making 26, 10, and 97 65 at the same time).
[<]>
Moves the pointer back to the start.
Now we're ready to get started!
[ | While the first cell is non-zero (so 26 times)
>> | Move to cell 3
[ | While cell 3 is non-zero
<.>>+<- | Print cell 2, increment cell 4, and decrement cell 3
] |
>>.<< | Move to cell 5 and print it (new line), then return
<+>+> | Increment cells 2 and 3, and move to 4
[<+>-] | Add the value at 4 to 3
<<<- | Decrement cell 1
] |
The important part is that cell 3 stores the number of times to print a letter. Each time a letter is printed, the value at 3 is moved to 4 and increased by 1, so that the next number is printed one more time than the last.
Side Note:
I'm completely new to brainfuck, so I wouldn't be surprised if this could be improved. However, I was also surprised by how fun brainfuck is to write, as well as by how easy it was to write, when compared with what I had imagined.
I would definitely recommend learning brainfuck to any bored programmers out there ;)
F# (.NET Core), 58 bytes
58 bytes
[1..26]|>Seq.map(fun i->new System.String((char)(i+96),i))
A basic port of my C# answer.
59 bytes
[1..26]|>Seq.map(fun i->[1..i]|>Seq.map(fun _->i+96|>char))
Same answer as above but without `System.String.
Ruby, 28 31 35 bytes
Edit: saved 3 bytes by using a number range instead of letters. Try it online!
(0..26).map{|l|(l+96).chr*l}
Edit: saved 4 bytes by using the character number instead of looping with index. Try it online!
('`'..'z').map{|l|l*(l.ord-96)}
Edit: saved 6 bytes by outputting a list. Try it online!
('`'..'z').map.with_index{|l,i|l*i}
Original:
('`'..'z').each_with_index{|l,i|puts l*i}
Lua, 48 bytes
for i=1,26 do print(string.char(i+96):rep(i))end
Explanation:
for i=1,26 do ... end— try all numbers between 1 and 26.print(...)— prints, of couse.string.char(i+96)— get alphabet char numberi.:rep(i)— repeat charitimes.
Check, 26 bytes
>#v
#d##)::>96+]*o<:>26-?
Explanation:
Check's gimmick is that it can switch between 2D semantics (for control flow) and 1D semantics (for stack manipulation). The program starts out at the beginning of the program in 1D semantics.
> pushes 0 to the stack. # switches to 2D semantics and v directs the IP downwards. It then hits #, switching back to 1D semantics for the main loop.
#d##)::>96+]*o<:>26-?
The commands before the ? go like this:
# 1D mode: 0
) increment: 1
: duplicate: 1, 1
: duplicate: 1, 1, 1
>96 push 96: 1, 1, 1, 96
+ add: 1, 1, 97
] wrap: 1, 1, [97]
* repeat: 1, [97]
o output char codes ("a"): 1
< output newline ("\n"): 1
: duplicate: 1, 1
>26 push 26: 1, 1, 26
- subtract: 1, -25
The ? is Check's only branching operator. It switches to 2D semantics if the TOS is nonzero, and stays in 1D semantics otherwise. In this case, if the top stack value is 0, then the program ends, and if it is negative, then it goes around to the beginning. # switches back to 1D semantics, d deletes the top stack element (since ? does not pop it). ## switches to 2D and then back again, and then the loop restarts.
CJam, 13 bytes
26{)_96+c*N}%
Explanation:
26 e# push 26
{ }% e# for n in 0 .. 25:
) e# increment
96+ e# add 96
c e# convert to character
_ * e# repeat that character n+1 times
N e# add a newline
Pushy, 8 bytes
Z26:q&Kh
Z \ Push 0 to the stack
26: \ 26 times do:
q \ Print stack, with each number as its letter in the 0-indexed lower alphabet
& \ Make a copy of the last number
Kh \ Increment all numbers
C# (.NET Core), 57 bytes
57 bytes with a a trailling line
()=>new int[27].Select((_,i)=>new string((char)(i+96),i))
59 bytes without a trailling line
()=>new int[26].Select((_,i)=>new string((char)(i+++97),i))
I am using using System.Linq;
- The
int[x].Select()can be found here.
Brain-Flak, 107 bytes
((((()()()){}){}()){}){(({})){({}<(({})<({}((((()()()()){}){}){}){})>)>[()])}{}({}<((()()()()()){})>[()])}
This is 106 bytes of code, and +1 byte for the -A flag, which enables ASCII output.
Explanation:
#Push 26
((((()()()){}){}()){})
#While True...
{
#Duplicate A
(({}))
#While True...
{
#Grab the value of A...
({}<
#Make a duplicate of B (on the first loop, B == A)
(({})<
#Push B +
({}
#64 (ASCII 'A' - 1)
((((()()()()){}){}){}){})
#Then push B on top of all of that
>)
#Push A - 1 on top of all of that
>[()])
#Endwhile, pop the loop counter
}{}
#Underneath A,
({}<
#Push 10
((()()()()()){})
# Then Push A - 1
>[()])
#Endwhile
}
x86-64 machine code function, 19 bytes
18 bytes for x86-32 with a non-standard calling convention, inc eax is only 1B vs. 2B.
Callable from C (with the x86-64 System V calling convention) as:
void alphabet_staircase(char output[377]);
// or
struct string_result { char buf[377]; } \
alphabet_staircase(void); // return-value pointer passed as implicit first arg
i.e. it stores a flat string (including '\n' newlines) into a buffer pointed to by rdi.
0000000000400080 <alphabet_staircase>:
400080: 6a 61 push 0x61
400082: 58 pop rax ; eax = 'a'
0000000000400083 <alphabet_staircase.loop>:
;;; do {
400083: 8d 48 a1 lea ecx,[rax-0x5f] ; rax-'a'+1 + 1
400086: f3 aa rep stos BYTE PTR es:[rdi],al
400088: c6 47 ff 0a mov BYTE PTR [rdi-0x1],0xa
40008c: ff c0 inc eax
40008e: 3c 7a cmp al,0x7a
400090: 76 f1 jbe 400083 <alphabet_staircase.loop>
;;; } while(al <= 'z')
400092: c3 ret
400093 end of function. 0x93 - 0x80 = 0x13 = 19 bytes
Try it online! (including a _start caller that prints the result with sys_write())
In each loop iteration, we store one extra copy of current letter, then overwrite it with a newline. rep stosb = memset(rdi, al, rcx). It advances rdi to point one-past-the-end of the bytes it stored.
eax holds the current letter, and we use it as the loop counter. do {} while(eax <= 'z');. Setting rcx from it with LEA requires that the upper bytes of eax be zeroed, otherwise we could use 2-byte mov al, 'a' to start.
The x86-64 SysV ABI requires that DF is cleared on function entry/exit, so we don't need cld. If we wanted to use std to store backwards, it wouldn't solve the problem of needing an offset of one in an addressing mode to store the newline (or needing a separate inc/dec, or swapping eax with a reg holding 0x10 and using stosb to store a newline); stosb always overwrites the memory rdi is pointing to.
Underload, 62 bytes
()(::(.)~^(.):*:*:*:*:*::***( )*~^S(
)S(:)~*(*)*):*::*:*::***^
This is really stretching the limits of what's allowed.
It outputs a list of lines represented by strings (allowed by the OP), where the strings are lists of bytes (allowed by meta consensus), where the bytes are given in unary (also allowed by meta consensus).
The result is... well, see for yourself.
Japt, 17 16 11 bytes
-5 bytes thanks to Oliver
In ISO-8859-1
;26ÆCgX pXÄ
Not the best score, but I'm still a novice. Any suggestions are very welcome.
Outputs list of lines, as OP allowed. Link contains 3 bytes more for newlines.
; - Use string variables
26 - Literal 26
Æ - For range 0..26
C - Alphabet
gX - . character at index X
pXÄ - Duplicate X+1 times
- End function (implicit)
C (gcc), 48 bytes 50 bytes
Re-runnable version, as per cleblanc and Steadybox in the comments below.
s[9];main(i){for(;i<27;)puts(memset(s,i+95,i++));}
C# (.NET Core), 84 bytes
()=>{return A(1);string A(int n)=>new string((char)(n+96),n)+(n<26?"\n"+A(++n):"");}
A recursive approach using a local function (given no inputs were allowed).
UnGolfed
()=>{
return A(1);
string A(int n) => new string((char)(n+96), n) +
(n < 26? "\n" + A(++n) : "");
}
Javascript, 87 bytes, 72 bytes (A lot of thank to @steenbergh)
My first answer too:
for(i=1,j=97;j<123;){console.log(String.fromCharCode(j++).repeat(i++))};
05AB1E, 2 bytes
Aƶ
Note that this outputs as a list of lines, as the OP explicitly allowed. The link uses a version with pretty-print (joined by newlines).
How it works
Ayields the lowercase alphabet.ƶlifts the alphabet (multiplies each element by its index).»joins by newlines.
Common Lisp, 65 bytes
(dotimes(a 26)(format t"~v@{~a~:*~}~%"(1+ a)(code-char(+ a 97))))
C (gcc), 68 64 bytes
I know there's another C answer but this is a different approach
n=65;main(i){for(i=n;i-->64;putchar(n));++n>90||main(puts(""));}
JavaScript, 65 bytes
for(x=0;x<26;)console.log(String.fromCharCode(x+97).repeat(++x));
old:
for(x=0;x<26;x++)console.log((function p(a,b){return b==0?a:a+p(a,--b);})(String.fromCharCode(97+x),x));
Octave, 25 24 bytes
['',tril((x=65:90)'+~x)]
Saved one byte thanks to Giuseppe who informed me that OP allows upper case letters.
Explanation:
Create a vector x with the ASCII-values of the upper case alphabet, and transpose it. Add the negated x (thus 26 zeros, in a row vector, in order to create a grid with (the ASCII-values of):
AAAA
BBBB
CCCC
Take the lower triangular matrix and convert to characters by concatenating with the empty string.
Wolfram Language (Mathematica), 43 bytes
This submission creates the specified output string exactly - in other words, it's NOT an array of string-enclosed characters.
#~Table~#2<>"\n"&~MapIndexed~Alphabet[]<>""
T-SQL, 68 bytes
Using a variable and loop:
DECLARE @ INT=1;a:PRINT REPLICATE(CHAR(@+96),@)SET @+=1IF @<27GOTO a
Longer (94 bytes), but feels much more SQL-like, using a recursive CTE to generate a number table:
WITH t AS(SELECT 1n UNION ALL SELECT n+1FROM t WHERE n<26)
SELECT REPLICATE(CHAR(n+96),n)FROM t
Befunge-98 (FBBI), 27 bytes
1+:0\::'`j'@+\k:$$>:#,_$a,
where is a substitution character (ASCII 26)
Uses uppercase letters, and has a trailing newline.
Explanation
The code works by storing a counter (0 initially), and on every loop:
1+- Increments it by 1:0\::- Pushes things so that the stack looks like this:bottom [N, 0, N, N, N] top'`j'@- Checks if the counter is greater than 26j'@- If it is, we jump over the'and exit using@j'@- If it isn't, we execute the', which pushes the ASCII value of@to the stack
Now the stack looks like this: bottom [N, 0, N, N, 64] top
+\- Adds, then switches the top 2:bottom [N, 0, (N+64), N] topThe first time through, this is ASCII 65, orAk:- Duplicates the second from the top(N+1)times - now there are(N+2)values of(N+64)on the stack (plus theNand0from earlier)$$- Throw away the top 2 values - now there are onlyNvalues of(N+64)>:#,_- Prints each top value until it gets to a0- this meansNcopies of(N+64)get printed$- Throws away the0- Now the stack is justNa,- Prints an enter
And it repeats
I like how I used the @ both for ending the program and for adding to the counter.
MATL, 11 bytes
2Y2t!g*!YRc
Uses broadcast multiplication with ones to get a big square 26x26 matrix of the desired letters. Next, the lower triangular part is taken, and implicitly printed.
Also 11 bytes:
2Y2!t~!+YRc % Using broadcast addition with zeroes
2Y2!l26X"YR % Using 'repmat'
PowerShell, 30 bytes
1..26|%{"$([char]($_+96))"*$_}
Also 30 bytes --
1..26|%{(""+[char]($_+96))*$_}
In either case, we're just looping 26 times, each iteration constructing a string of the appropriate character, then string-multiplying it out to the appropriate length. Ho-hum.
J, 18 17 bytes
a.{~(#"0+&96)i.27
Explanation:
i.27 - list of integers 0 - 26
( +&96) - adds 96 to the above list (starting offset of 'a')
#"0 - copies the right argument left argument times
{~ - select items from a list (arguments reversed)
a. - the whole alphabet
#"0 +&96 is a hook, which means that at first +96 is applied to the list i.27,
resulting in a list 96, 97, 98... 122, then #"0 is applied to this result.
So it is evaluated as ((i.27)#"0(96+i.27)){a:
K (oK), 16 bytes
Solution:
`c$t#'96+t:1_!27
Returns a list of lists. TIO prints to stdout:
Explanation:
`c$t#'96+t:1_!27 / the solution
!27 / til 27, creates range of 0..26
1_ / drop first element, 1..26 (could have done 1+!26 but 1_!26 is faster ;))
t: / store in variable v
96+ / add 96 to each (97=a)
t#' / t take each, 1#97 = 97, 2#98 = 98 98, 3#99 = 99 99 99 etc
`c$ / cast to characters
Brachylog, 7 bytes
Ại₁j₎ẉ⊥
Explanation
Ạ The alphabet string "abcdefghijklmnopqrstuvwxyz"
i₁ A couple: [a letter of the alphabet, its index (1-indexed) in it]
j₎ Juxtapose that letter as many times as its index
ẉ Write followed by a linebreak
⊥ False: try another couple of [letter, index]
PHP, 47 46 bytes
for($c=a;$i<26;)echo"
",str_pad($c,++$i,$c++);
or
for($c=a;$i<26;)echo str_pad("
",++$i+1,$c++);
Run with -nr or try it online.
JavaScript (ES6), 54 bytes
f=(n=9)=>++n<36?n.toString(36).repeat(n-9)+`
`+f(n):''
O.innerText = f()
<pre id=O></pre>
QBIC, 23 bytes
[26|[a|?chr$(a+96)';`]?
Explanation
[26| FOR a = 1 TO 26
[a| FOR b = 1 TO a
?chr$( PRINT the character
a+96) a, or b, or c depending on outer loop
';` and suppress new-lines, tabs etc
] NEXT, for this character (a, bb, ccc)
? PRINT a newline between a, bb, ccc....
NEXT on outer loop added implicitly
Rust, 82 bytes
||for i in 1..27u8{println!("{}",((i+96) as char).to_string().repeat(i as usize))}
I had hoped that it would've been a lot shorter, but explicitly converting/casting between types takes a lot of bytes :(
Retina, 20 bytes
:`
a
{2`
$`
T:`_l`l_
Prints a couple of trailing linefeeds.
Explanation
:`
a
Initialise the string to a and print it.
{2`
$`
The { tells Retina to loop the remainder of the program until it fails to change the string. The stage itself duplicates the first character.
T:`_l`l_
This increments all letters using transliteration and prints the result.
Befunge, 37 35 bytes
:"a"+:>,#:\:#->#1_55+,$"`"-:55*`#@_
Explanation
The program starts with an implicit zero on the stack, representing the repeat count (off by 1).
:"a"+ Duplicate the count and convert it to a character.
: Duplicate the character prior to writing it out.
> Start the output loop.
, Write the duped character to stdout.
\ Swap the count to the top of the stack.
: > _ Duplicate it and check if zero, returning left if not.
- 1 Decrement the count.
\ Swap the character back to the top.
: Duplicate it prior to writing it out again.
> Repeat the loop.
_ If the count reached zero, we continue right.
55+, Output a linefeed.
$ Drop the zero count.
"`"- Convert the character to a numeric count and increment.
:55*` Check if greater than 25.
#@_ If so, then terminate, else wrap back to the start.
BASH, 59 54 40 bytes
for l in {a..z};{
a+=a
echo ${a//a/$l}
}
thx. 5 bytes to @Justin Mariner
C (gcc), 53 bytes
i,j;f(){i=i-putchar(j++-i?96+i:(j=!++i)+10)-16&&f();}
Prints a leading newline. Has undefined behaviour, but works with gcc...
C, 54 bytes
j;main(i){for(;i<27;)putchar(j++-i?96+i:(j=!++i)+10);}
C, 54 bytes
i,j;f(){putchar(j++-i?96+i:(j=!++i)+10);(i%=27)&&f();}
Prints a leading newline.
C, 56 bytes
main(i,j){for(;i<27;)for(j=++i;j--;)putchar(j?95+i:10);}
Charcoal, 6 bytes
Eβ×ι⊕κ
Try it online! Link is to verbose version of code. Explanation:
κ Index
⊕ Incremented
ι Character
× Repeated
β Lowercase letters
E Map over each character
Implicitly print each result on its own line
R, 38 bytes
A relatively uninteresting answer. Iterate for i from 1 to 26, print the ith letter of the alphabet i times (with an implicit line break).
for(i in 1:26)print(rep(letters[i],i))
A more interesting approach might be to use something like the following:
cat(letters[(1:351*2)^.5+.5])
This gives us all the letters in the right amount, but no linebreaks. Perhaps someone smarter than me can figure out a way to use that to make a golfier answer.
brainfuck, 74 bytes
++++++++[>+>+++>++++++++++++<<<-]>++>++>+>+<<[->>[->+<<.>]>[-<+>]<+<+<<.>]
Explanation
++++++++[>+>+++>++++++++++++<<<-]>++>++>+>+
TAPE:
000
010 C_NEWLINE
026 V_ITERCOUNT
097 V_ALPHA
>001< V_PRINTCOUNT
000 T_PRINTCOUNT
V_ITERCOUNT TIMES: <<[-
V_PRINTCOUNT TIMES: >>[-
INC T_PRINTCOUNT >+
OUTPUT V_ALPHA <<.
>]
RESTORE V_PRINTCOUNT >[-<+>]
INC V_PRINTCOUNT <+
INC V_ALPHA <+
OUTPUT C_NEWLINE <<.
>]
Jelly, 5 4 bytes
sneaky Python implementation abuse
-1 byte thanks to Adám (outputting a list of lines has been allowed; as, now, has writing a function rather than a program)
Øa×J
A niladic link that returns a list of strings, the lines
(to print it with the newlines as a full program just add Y back in).
Try it online! (the footer calls the link as a nilad (¢) and gets the Python representation of the result (ŒṘ) for clarity as the default full-program behaviour would smash the result together like abbccc...)
How?
Øa×J - main link: no arguments
Øa - yield the alphabet = ['a','b','c',...,'z']
J - range of length = [1,2,3,...,26]
× - multiplication = ["a","bb","ccc",...,"zzzzzzzzzzzzzzzzzzzzzzzzzz"]
- (Python multiplication lengthens chars to strings - not usually a Jelly thing)
JavaScript, 113 bytes
(function(){var i=0,j=0,s;while(++i<=26){s="";j=0;while(++j<=i)s+=String.fromCharCode(96+i);console.log(s);}})();
Stacked, 14 bytes
[26~>:96+chr*]
Pushes a list of lines to the stack.
Explanation
[26~>:96+chr*]
[ ] anonymous function, takes no arguments
26~> range from 1 to 26
:96+ push range from 97 to 122 (97..122')
chr convert each of these to a char ('a'..'z')
* repeat each char by the former amount ('a' 'bb' 'ccc' ...)
C# (.NET Core), 78 bytes
n=>{var s="";for(int i=1;i<27;)s+=new string((char)(i+96),i++)+'\n';return s;}
Python 3, 37 bytes
for k in range(27):print(chr(k+96)*k)
Prints a leading newline (which is allowed).
Haskell, 27 bytes
[c<$['a'..c]|c<-['a'..'z']]
Try it online! Returns a list of lines. (Thanks to @totallyhuman for pointing out that this is now allowed)
Explanation:
c<-['a'..'z'] -- for each character c from 'a' to 'z'
[ |c<-['a'..'z']] -- build the list of
[ ['a'..c]|c<-['a'..'z']] -- the lists from 'a' to c, e.g. "abcd" for c='d'
[c<$['a'..c]|c<-['a'..'z']] -- with each element replaced by c itself, e.g. "dddd"
Haskell, 31 bytes
-12 bytes thanks to nimi.
zipWith replicate[1..26]['a'..]
This is not a snippet, it is a nullary function (one that takes no arguments) that outputs a list of lines which is allowed because of this meta consensus.
Pip, 9 bytes
FczPcX++i
In pseudocode, this is
For-each c in z
Print (c string-multiply ++i)
where z is preset to the lowercase alphabet and i is preset to 0.
Map-based solutions take one extra byte because they need the -n flag to display on multiple lines:
{aX++i}Mz
B X_+1MEz
VBA, 33 Bytes
Anonymous VBE immediate window function that outputs to the VBE immediate window
For i=1To 26:?String(i,96+i):Next
Pyth, 7 bytes
.e*hkbG
Outputs a list of lines. If that's not allowed, add a j to the start and let me know to add one byte to the count!
.e*hkbG Full program - outputs to stdout
.e map over
G the alphabet,
* b repeating each letter
hk according to its index+1



