프로그래밍 언어의 알파벳


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.