프로그래밍 언어의 알파벳


69

우리의 임무는 (영문) 알파벳의 각 문자에 대해 알파벳으로 이름 을 그 문자로 시작 하는 언어로 인쇄하는 프로그램을 작성하는 것 입니다.

입력 : 없음

산출:

abcdefghijklmnopqrstuvwxyz

대문자 및 후행 줄 바꿈 옵션

규칙 :

  • 채점 메트릭은 프로그래밍 언어의 길이 이름 , 플러스 코드의 길이. 따라서 C는 "1"의 페널티로 평가되고 GolfScript는 10의 페널티로 평가됩니다.
  • 답변 당 하나의 언어 / 구현. 여러 답변이 권장됩니다.
  • 프로그래밍 언어는이 글을 쓰기 전에 2011 년 4 월 18 일에 존재해야합니다.
  • 프로그래밍 언어 이름의 첫 문자가 영어 문자가 아닌 경우에는 영어 문자로 강제 변환해서는 안됩니다. 별도의 서신으로 취급됩니다 (경쟁률이 낮음).
  • 모든 영어 편지에 해결책이있을 때까지 답변을받지 않습니다.

현재 순위 :

내가없는 사람이 있으면 말해줘

자동 리더 보드 (실험)


1
쓰레기를 stderr에 인쇄 할 수 있습니까?
피터 테일러

@ 피터 테일러 : 이동 너트. 귀하의 질문에 대답하기 위해, stderr에 정크를 인쇄하는 것이 좋습니다 (stdout이 올바른 한).
Joey Adams


2
*0*5AB1E은 같은 *o*sabieP :?
매직 문어 Urn

1
@MagicOctopusUrn이 규칙으로 인해 중요하지 않습니다 . " 2011 년 4 월 18 일 에이 포스트를 작성하기 전에 프로그래밍 언어가 존재 했어야합니다 . "
Kevin Cruijssen

답변:


13

K는 K , 12 자-> 점수 : 13입니다

`0:_ci97+!26

확실히 솔루션 중 하나를 A +에 적용 할 수 있습니까?
Joey

A + 설정은 약간 펑키합니다. 나는 전에 그것을 해봤지만 실제로는 그렇게 느끼지 않습니다. (올빼미, newLISP 및 zshell 모든 턴키했다.)
제시 밀리칸

3
나는 그것이 k2 또는 k3이라고 가정합니다. k4 / q에서을 사용하여 7 자로 할 수 있습니다 1 .Q.a;.
Aaron Davies

당신은 필요하지 않습니다 `0:또는 1@codegolf에
NGN

25

P는 (실제로) Piet -57 codels입니다

큰 버전 (코딩 크기 = 6)

p는 piet 용입니다-큰

작은 버전 (코딩 크기 = 1)

p는 piet 용입니다-작습니다

Erik의 piet 인터프리터로 테스트하고 Piet Creator로npiet 개발했습니다 .

편집 : 여기에 "추적"버전 (으로 생성됨 npiet -tpf)이 표시되어 작동 방식을 확인할 수 있습니다.

왼쪽 상단에서 실행이 시작되고 시계 방향으로 경계를 돌고 있습니다. 상단 가장자리와 오른쪽 가장자리가 설정됩니다 ( a(97) 의 값을 계산하는 데는 약간의 코덱이 필요합니다). 루프는 아래쪽 가장자리에서 시작하여 왼쪽 가장자리로갑니다. 의 값에 z도달하면 프로그램은 첫 번째 아래의 횡단면으로 오른쪽으로 바뀌고 P종료됩니다.

이미지를 클릭하면 확대하여 자세히 볼 수 있습니다


우와, Piet는 항상 좋은 것입니다. 그리고 당신은 Piet Creator의 작동중인 Windows 바이너리를 가지고 있지 않습니까? (나는 다시 의존하기 위해 모든 의존성과 전제 조건을 사냥하기에는 너무 게으르다.)
Joey

그리고 실제로는 400 개의 코덱과 57 개의 코딩 코덱이 아닌가? (하지만 여기서 피에트를 계산하는 방법에 대한 합의가 없다고 생각합니다)
Joey

1
@Joey Windows 용 Piet Creator 빌드를 요리 할 수 ​​있는지 살펴 보겠습니다. 거기에서 테스트 한 지 오래되었습니다. 당신은 코덱에 대해 옳습니다. 프로그램을 한 줄에 배치하려면 57 개의 코덱 (주거나 가져 가십시오)이 될 것입니다. 위의 버전은 눈에 더 친숙합니다 (다른 언어의 공백과 같이). 아마도 Piet 제출물에는 최소한의 눈길을 끄는 소스가 있어야합니다. 더 많은 Piet 답변을 계획하고 있기 때문에 더 나은 결정을 내릴 수 있습니다 :)
Casey

글쎄, 당신은 Piet 코드가 어떻게 처리되어야 하는지를 명확히하기 위해 메타 에 대한 질문을 열 수 있습니다 :-). 오래 전에 Piet 솔루션을 제출했을 것입니다. pietdev를 제외하고는 매우 버그가 많았고 Piet Creator의 경우 Qt와 몇 가지 다른 것이 필요했습니다. ;-). 비트 맵 편집기를 사용하는 것은 꽤 번거 롭습니다.
Joey

@Joey Piet Creator는 여전히 굉장히 멋진 몇 가지 중요한 개선 사항이 필요합니다. 곧 추가 할 수 있기를 바랍니다. 주로 Piet Creator를 사용한 다음 Paint 또는 GIMP를 사용하여 색상 블록을 움직입니다. Pietdev는 PC의 주요 영감이었습니다. PC에 대한 피드백을 얻는 것이 좋을 것입니다. 창문을 최대한 빨리 빌드하겠습니다.
Casey

17

P는 Perl의 경우 10 자-> 점수 : 14

print a..z

28
무엇에 대해 say a..z?
mbx

14

Y는 Yoix , 44 자 → 점수 : 48

int x;for(;++x<27;)yoix.stdio.putchar(96+x);

12

W는 공백, 72 자입니다.-> 점수 : 82

여기에 이미지 설명을 입력하십시오

[Sp][Sp][Sp][Tab][Tab][Sp][Sp][Sp][Sp][Tab][LF][LF][Sp][Sp][Tab][Tab][LF][Sp][LF][Sp][Tab][LF][Sp][Sp][Sp][Sp][Sp][Tab][LF][Tab][Sp][Sp][Sp][Sp][LF][Sp][Sp][Sp][Sp][Tab][Tab][Tab][Tab][Sp][Tab][Tab][LF][Tab][Sp][Sp][Tab][LF][Tab][Sp][Sp][Sp][LF][LF][Sp][LF][Tab][Tab][LF][LF][Sp][Sp][Sp][Sp][LF][LF][LF][LF]

어젯밤 에이 바보 같은 일을하는 데 오랜 시간을 보냈고 여기에 공백이 코드로 표시되지 않는다는 것을 알았습니다! 그리고 내가 찡그린 동안 인터넷 연결이 끊어졌습니다. 그래서, 나는 그것을 지금 게시하고 있습니다. 그래서 지난 밤에 한 시간 동안 일하는 데 낭비하지 않았습니다.


6
나는 전에 삭제 된 주석과 내 솔루션과 함께 전에 공백을 쓴 적이 없다는 것이 분명하다고 생각했을 것입니다. 분명히 아닙니다.
Gareth

@Mego 그것과 전혀 관련이 없기 때문에 우리가 내 이름을 빼앗길 수 있을까요?
Gareth

11

A는 APL,  14  11 자 / 바이트 * → 14 점입니다

⎕UCS 96+⍳26

이것은 적어도 Dyalog와 Nars2000 에서 작동합니다 .


* APL 기호를 상위 128 바이트 값에 매핑하는 자체 (레거시) 단일 바이트 문자 집합으로 APL을 작성할 수 있습니다. 따라서 스코어링을 위해 ASCII 문자와 APL 기호 만 사용하는 N 문자 프로그램은 N 바이트 길이로 간주 될 수 있습니다.


1
⎕aAPLX 에서 작동합니다 .
Adám

옵션 대문자와 후행 줄 바꿈 그래서 ⎕A작품.
Adám


8

R은 R, 19 → 점수 : 20

cat(letters,sep="")

또는 (20 자) : cat (letters, sep = "")
Paolo

하지가 letters충분? 출력을 지정하는 사양이 연속 문자열이어야한다는 것을 알 수 없습니다. 물론, 주어진 예는 그 형태이지만 '트레일 링 개행은 선택 사항'입니까?
Gaffi

@Gaffi : 나는이 스레드에서 다른 언어를 동일한 표준으로 유지했다고 생각합니다. 즉, 중간에 문자가 없어도 출력이 "abc ... xyz"여야합니다.) 나는 규칙을 바꾸고 내 콘테스트에서 이길 수 있다고 생각하지만, 그렇게 재미 있지는 않을 것입니다.
Joey Adams

8

P는 Python 2, 33 자-> 점수 : 39

print'%c'*26%tuple(range(97,123))

1
이것은 같은 길이입니다 print'abcdefghijklmnopqrstuvwxyz'...
nneonneo

@nneonneo 그래서 ... 그것은 여전히 ​​가장 작은 것입니다! (이 지루하고 사소한 코드와 위치를 공유 함).
JBernardo

7

R은 Ruby 용, 13 자-> 점수 : 17

Ruby 1.9 솔루션 Matma Rex 는 다음과 같이 고안 되었습니다.

print *?a..?z

내 원래 Ruby 1.8 솔루션 (15 자-> 점수 : 19) :

$><<[*'a'..'z']

이 기준과 일치하지 않습니까? 출력에는 추가 문자가 포함됩니다. 또한 괜찮다 $><<[*?a..?z]면 Ruby 1.9 (2 문자 제외)입니다.
Matma Rex

1
내가 생각할 수있는 가장 짧은 올바른 버전은 print *?a..?z입니다. 길이가 같고 위에서 제안한 길이입니다. 우리는 사용할 수 $><<있기 때문에 <<몇 가지 이상한 우선 순위 규칙을 가지고 있으며, 모든 불면. 모든 문자를 별도의 줄에 인쇄하기 때문에 p또는 puts대신 사용할 수 없습니다 print.
Matma Rex

죄송합니다. Ruby 1.8 용입니다. Ruby 1.8에서는와 Array#to_s동일 Array#join하므로 추가 문자없이 알파벳을 인쇄합니다. 그러나 1.9 솔루션은 실제로 더 짧습니다.
Ventero

출력은 다음과 같습니다. codepad.org/atGFGVuQ
Nathan Osman

@George : 출력은 Ruby 1.8에서 출력됩니다 ( codepad.org/pvyqzaPP에서 확인할 수 있음 ). 게시물에서 언급했듯이 이것은 Ruby 1.9의 솔루션입니다.
Ventero

7

F는 생선 (> <>), 19 자-> 점수 : 23

빌어 먹을 아름다운 언어니까!

30"`"1+::o&p&"y"(?;

이 답변은 22 <>>점이 아니고 4 개가 아닌 3 자로 만되어 있기 때문 입니다. 점수에 더 긴 이름을 사용한 이유가 있습니까?
pppery

@ppperry 글쎄요. 언어 이름은 F로 시작해서 <><.
flornquake

1
언어의 이름은 ><>아닙니다<><
TuxCrafting 2016 년

이것은 작동하지 않는 것 같습니다-그냥 인쇄합니다 a. tio.run/##S8sszvj/39hAKUHJUNvKKl@tQE2pUknD3vr/fwA
Chris


6

S는 Scala, 16 자 => 21 점입니다

'a'to'z'mkString

18 자 => 23 점

'a'to'z'mkString""

22 문자 => 27

('a'to'z')map(print _)




6

D는 dc, 17 자 → 점수 : 19

97[dP1+dBD>x]dsxx

dc 버전 1.06.95에서 "ab"출력 및 종료
Wossname

@Wossname echo '97[dP1+dBD>x]dsxx' | dc은 dc 버전 1.07.1에서 작동합니다
BlackCap

6

C는 C, 36 35 자 → 점수 : 36

main(a){for(;putchar(a+++64)-90;);}

(argc)가 초기화하지 않고 1과 같다고 가정하여 2자를 삭제할 수 있습니다.
Joey Adams

그러나 이것은 컴파일조차하지 않습니다.
decelratedcaviar

컴파일 할 수있는 가장 좋은 것은 59 또는 42입니다. #include <stdio.h> main () {for (int a = 27;-a;) putchar (96 + a);}
감속

Daniel, 여기 MSVC 10에서 작동합니다.
Joey

5

W는 Windows PowerShell 용, 22 자 → 점수 : 40

-join[char[]](97..122)

1
흠,이 W 또는 P 중 무엇을 할 것인지 확실하지 않습니다
Joey Adams

1
기술적으로 올바른 언어 (및 제품) 이름은 Windows PowerShell 이므로 W 입니다. 예, 나도 버그가 있습니다.
Joey



4

L은 로고, 26 자 → 점수 : 30

for[i 97 122][type char i]

4

T는 Thue, 35 자 → 점수 : 39

0::=~abcdefghijklmnopqrstuvwxyz
::=
0

4

A는 AppleScript, 41-> 점수 : 52입니다

display alert"abcdefghijklmnopqrstuvwxyz"

1
게시 후 오랜 시간 이 걸리지"abcdefghijklmnopqrstuvwxyz"반환 값이 결과 창에 출력되므로 사용할 수 있습니다 .
애디슨 크럼

4

Matlab의 경우 M, 13 자, 19 점

disp('a':'z')

Matlab의 경우 M, 18 자, 점수 24

disp(char(97:122))

1
나는 matlab을 가지고 있지 않지만 disp(..)이 출력을 막아야 한다고 생각합니다 ans = .
Nabb

정답이 바뀌 었습니다.
jpjacobs

4

B는 BrainF ***, 38 + 9 = 47입니다

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

셀이 256에서 랩핑되는 경우 31 + 9 = 40 으로 줄일 수 있습니다 .

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

4

B는 Bash입니다 : 4 + 16 = 20

printf %s {a..z}

또는 15만으로 :

echo {a..z}

양식의 출력 a b c ...이 허용되는 경우 (다른 많은 답변에서 볼 수 있듯이).


나는 그렇게 생각하지 않습니다. 줄 바꿈은 선택 사항이며 출력은 "abcdefghijklmnopqrstuvwxyz"
사용자가 알 수 없음




당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.