상징 대 문자 사용하지 않고 각

상징 대 문자

ASCII 문자는 일단 분리되어 다시 ! 당신의 세트는 문자기호 입니다.

편지들

ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz

상징

!"#$%&'()*+,-./0123456789:;<=>?@[\]^_`{|}~

과제는 두 개의 프로그램을 작성하는 것입니다.

  1. 프로그램에서 글자 를 사용하지 않고 각 글자를 정확히 한 번 인쇄 하십시오.

  2. 프로그램에서 각 심볼 을 사용하지 않고 각 심볼을 정확히 한 번 인쇄 하십시오.

규칙

  • 프로그램이나 출력에 공백이 나타날 수 있습니다.
  • 비 ASCII 문자는 허용되지 않습니다.
  • 출력은 파일의 내용 또는 이름으로 표준 출력 또는 파일로 보내집니다.
  • 입력이 없습니다.
  • 출력은 한 세트 또는 다른 세트의 ASCII 문자 만 포함해야합니다.
  • 프로그램은 한 가지 예외를 제외하고 다른 언어 나 동일한 언어로 작성 될 수 있습니다.
  • 공백 언어는 단지 프로그램 중 하나를 사용할 수있다.
  • 표준 허점이 적용됩니다.

채점

# of characters in program 1 +# of characters in program 2 =Score

최저 점수가 이깁니다!

노트 :

더 많은 제출을 장려하기 위해 여전히 프로그램 중 하나에 대한 솔루션으로 답변을 게시 할 수 있습니다. 이길 수는 없지만 여전히 멋진 것을 보여줄 수 있습니다.

이전 질문으로 아이디어를 불러 일으킨 Calvin ‘s Hobbies 에게 감사합니다 .



답변

총계 : 53 자

단일 언어의 총계 : 230 자, Pyth

1 부 : 골프 스크립트, 15

91,65>123,97>++

출력 :

ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz

설명:

91,           Make the list, [0 1 .. 90]
65>           Take elements after the 65th, [65 66 .. 90]
123,97>       Same, but [97 98 .. 122]
+             Add the list above to the newline character that is automatically pushed to
              the stack. List + str coerces to string by ascii encoding.
+             Same, for the other list.

2 부 : 피스 , 38

JhCeGLjkmCdbsrCdCPhGsrhCPeGChGsrJhhhhJ

출력 :

 !"#$%&'()*+,-./0123456789:;<=>?@
[\]^_`
{|}~

설명:

G = "abcdefghijklmnopqrstuvwxyz"   Implicit.
k = ""                             Implicit.
d = " "                            Implicit.
JhCeG                              J = 1 + chr(end(G))          # J = 123
L                                  def d(b): return
 jk                                                k.join(
   m                                                      map(lambda d:
    Cd                                                                 chr(d),
    b                                                                  b))
s                                  print(s(                    #print is implicit.
 rCd                               range(chr(d),                 # chr(d) = 32
 CPhG                                    chr(upper(head(G))))    # chr("A") = 65
srhCPeGChG                         print(s(range(1+chr(upper(end(G))),chr(head(G)))
srJhhhhJ                           print(s(range(J, 1+1+1+1+J)))

보너스 솔루션 :

1 부 : 192

%*$"%\143"$52(65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122

설명:

$"%\143"$=> “% c”. $Python 구문 분석 스타일과의 전환 및 Python 문자열 구문 분석에서는 \1438 진 이스케이프 시퀀스입니다 c. 따라서이 답변은 다음 Python 스타일 코드와 동일합니다.

("%c" * 52) % (65, 66, 67, ...)

물론 파이썬에서는 인쇄를 사용하기 때문에 파이썬에서는 작동하지 않지만 printPyth에서의 인쇄는 암시 적이므로 작동합니다.


Pyth 솔루션은 질문이 제기 된 이후 추가 된 기능을 사용하지 않습니다.


답변

파이썬 (기호, 87 82)

from string import punctuation
from string import digits
print digits
print punctuation

나는 파이썬의 문자열 모듈을 좋아합니다 …

편집하다:

from string import punctuation as p
from string import digits as d
print d
print p

산출:

0123456789
!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~

FALSE (문자, 21) DUP (문자, 20) :

거짓 솔루션 :

65[$91\>][$,$32+,1+]#

DUP 솔루션 (1 문자 더 짧음)

65[$91<][$,$32+,1+]#

출력 (둘 다) :

AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz

FALSE 통역사.


합계 : 102


답변

GolfScript (14 자) + Deadfish x (116 자) = 130 자

91,65>{.32+}%+

xxcxxcdddKxKxKxKxKxKxKxKxKxKxKxKxKxKxKxKxKxKxKxKxKxKxKxKxKxKxKxKxKxKxKxKDxxxccxxxxxxxxxxKxKxKxKxKxKDxxxcxxcxxKxKxKxK


답변

Ruby 2의 파트 1 및 2, 56 + 484 = 540

1 부:

__=->_{(91..96)===_||$><<(''<<_);_>121||__[-~_]}
__[65]

이 스타일의 Ruby에 대한 자세한 내용은 narfnme을 확인하십시오 .

2 부

class Fixnum
def c
String def a
end
end
def b
String def A
end
end
def x
String def z
end
end
def y
String def Z
end
end
def inspect
case chr
when c
when b
when y
p succ
else
print chr
p succ
end
p
rescue
p
end
end
def x
String def z
end
end
def y
String def Z
end
end
class String
def inspect
p size
p
end
end
p String p
class String
def inspect
p ord
p
end
end
p y
class Fixnum
def inspect
case chr
when x
p succ
else
send chr
print chr
p
end
p
rescue
print chr
p succ
p
end
end
p x

그 사람은 힘들었다. 같은 Fixnum이라는 방법 내장 호출 chrsuccFixnum이라는 클래스를 열고 재정의 필요 inspect나에게 전화를 유발할 수 있기 때문에, x.inspectp x. 내가 돌아 검사 필요 nil있도록 p만 줄 바꿈을 출력 할 것이다, 모든 문자열은 큰 따옴표로 둘러싸인됩니다. 그러나 부작용으로 반복됩니다. 문자열 범위를 사용하여 문자 범위에 도달했을 때 확인하기 위해 첫 번째 루프와 두 번째 루프를 종료 할 수 있지만 문자열 리터럴을 작성할 수 없으므로 String()반환 된 기호 를 호출 하여 하나를 가져와야 합니다 (Ruby 2에서) 바이 def키워드. 그것이 여러 줄 구문이므로 문자열을 통해서만 비교할 수 있습니다.case여러 줄 표현식을 사용할 수 없으므로 리터럴을 메서드로 래핑해야합니다 (분명히 할당을 수행 할 수 없기 때문에). 마지막 루프는 종료하기가 더 어렵습니다. 에 중지해야합니다 ~. 운 좋게도 해당 범위의 ASCII 문자 ~중 오류가 발생하지 않고 인수없이 Fixnum에서 호출 할 수있는 유일한 문자 이므로 send chr마지막에있을 때 감지하고 반복을 중지하는 데 사용할 수 있습니다 .

이 스레드에서 최고 점수는 아니지만 지금까지 두 언어에 대해 동일한 언어를 사용하는 유일한 점수입니다. 예 루비.


답변

애플 스크립트 2 부, 654

잠깐만 … ” Applescript의 골프 팁 “페이지는 어디에 있습니까?

global a
global b
global c
global s
on f at n
set end of b to a
end
on g at n
f at a
f at a
end
on h at n
g at a
g at a
end
on i at n
h at a
h at a
end
on j at n
repeat with t in system info
f at a
end
end
on m at n
set end of b to a
set c to count of b
set end of s to ASCII character c
end
on n at n
m at a
m at a
m at a
end
on o at n
repeat with t in system info
m at a
end
end
set a to random number
set b to a as list
j at a
j at a
set c to count of b
set s to ASCII character c
set s to s as list
o at a
n at a
n at a
n at a
n at a
n at a
j at a
i at a
g at a
f at a
n at a
m at a
m at a
j at a
i at a
g at a
n at a
m at a
display dialog s as text

산출:

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


답변

CJam + AlphaBeta , 62 바이트


문자, CJam , 12 바이트

"[{"{,-26>}/

온라인으로 사용해보십시오!

산출

ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz

작동 원리

"[{"{     }/   For each of the characters "[" and "{",
     ,         push an array of all ASCII characters before it
      -26>     and discard all but the last 26 characters.

기호, AlphaBeta , 50 바이트

ZaaAccctFUaCLOrEbbCLbCLbCLbCLdddACLbCLbCLgDLgDLgDL

온라인으로 사용해보십시오!

공식 C ++ 인터프리터에는 루프를 불가능하게하는 버그가 있으며 Lua 인터프리터를 사용하는 방법을 알 수 없습니다. 나는 그 버그를 수정했다. EsoLang 페이지에서 예제 프로그램을 실행하여 의도 한대로 작동하는지 확인할 수 있습니다.

산출

!"#$%&'()*+,-./0123456789:;<=>?@~}|{]\[^_`

작동 원리

Z      Switch register 4 to the position register.
aa     Set registers 1 to 2.
A      Copy the value from register 1 to register 2.
ccc    Add 30 to register 1 (result: 31).
tF     Set register 2 to the product of registers 1 and 2 (result: 64).
U      Add 10 to the position register (result: 10, i.e., the position of the next byte).
aCL    Add 1 to register 1 and print the corresponding ASCII character.
O      If register 1 != register 2, go to the position in the position register.
rEb    Set register 1 to the sum of registers 1 and 2 minus 1 (result: 127).
bCL    Subtract 1 from register 1 and print the corresponding ASCII character.
bCL    Subtract 1 from register 1 and print the corresponding ASCII character.
bCL    Subtract 1 from register 1 and print the corresponding ASCII character.
bCL    Subtract 1 from register 1 and print the corresponding ASCII character.
ddd    Subtract 30 from register 1 (result: 93).
A      Copy the value from register 1 to register 2.
CL     Print the ASCII character corresponding to register 1.
bCL    Subtract 1 from register 1 and print the corresponding ASCII character.
bCL    Subtract 1 from register 1 and print the corresponding ASCII character.
gDL    Add 1 to register 2 and print the corresponding ASCII character.
gDL    Add 1 to register 2 and print the corresponding ASCII character.
gDL    Add 1 to register 2 and print the corresponding ASCII character.


답변

BrainFuck 1 부 : 80 74 바이트

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