트위스트와 함께 안녕하세요 세계


17

목표 : "Hello, world!"의 고전적인 결과를 가져올 코드를 작성하는 것이 목표입니다 . STDOUT 또는 이와 동등한 것으로 인쇄되고 있습니다.

규칙 : 코드는 ASCII로 인쇄해야합니다. 모든 코드는 작동해야합니다. 단일 계산 문자를 제거하면 결과가 변경되거나 코드가 작동하지 않아야합니다. 할당 후 모든 변수를 사용해야합니다. 출력에 문자 및 문자열 리터럴이 필요합니다. 즉, 문자 리터럴 또는 문자열 리터럴 내의 문자를 다른 문자로 바꾸면 결과를 변경할 수 있어야합니다 (이스케이프 시퀀스의 영향을 통하지 않음). 또는 동급)

(참고 : 최종 규칙이 편집되었습니다.)

득점 : 여기가 흥미로워집니다. 일반적인 코드 결정 규칙에 따라 문자 수에 따라 가장 높은 점수를 얻습니다. 그러나 문자를 반복해서 사용하면 점수가 차감됩니다. 구체적으로 특별히...

  1. 영숫자 (az, AZ, 0-9)를 반복해서 사용하면 반복 당 3 포인트가 차감됩니다 (처음으로 사용하면 차감되지 않음).
  2. 대괄호를 포함하여 기본 구두점 ([!? .-, ": ';])을 반복해서 사용하면 반복 당 2 포인트가 차감됩니다.
  3. 중괄호를 포함하여 다른 ASCII 문자 {`~ @ # $ % ^ & * _ + = | \ /> <}를 반복 사용하면 반복 당 4 포인트가 차감됩니다.
  4. 공백, 탭 및 줄 바꿈을 반복해서 사용하면 반복 당 1 포인트가 차감됩니다. 즉, 공백, 탭 또는 줄 바꿈을 처음 사용할 때만 합계에 포함됩니다.

참고 : 주석의 시작 / 끝을 표시하는 문자는 그렇지 않지만 주석은 총계로 계산되지 않습니다. 예를 들어, C / C ++에서가있는 경우 /* This is a comment */슬래시 2 개와 별표 2 개를 계산하지만 그 사이에는 아무것도 없습니다.

몇 가지 (참고 : Julia를 샘플 언어로 사용) ...

print("Hello, world!");

표시되는 총 문자 : 22
공백 포함 : +1
반복 된 영숫자 : -12의
반복 문장 부호 : -2의 "
최종 점수 : 22 + 1-12-2 = 9

print("Hel",char(108),"o, wor",0x108,"d!"); # 0x108 makes a Uint8 that prints as ASCII

총 문자 : 43 (댓글 문자 인 # 뒤에 문자를 포함하지 않음)
공백 포함 : +1
반복되는 영숫자 : rr1008의 경우 -18
반복 된 구두점 : -24의 () "" "" ",,,,,
최종 점수 : 43 + 1-24-18 = 2

xy=STDOUT
m="Hello, world!"
print(xy,m);

표시 가능한 총 문자 수 : 37
줄 바꿈 포함 : +1
공백 포함 : +1
반복되는 영숫자 : -18 for xyllor
반복 된 문장 부호 : -4 ( "),
다른 ASCII 반복 : -4 for =
최종 점수 : 37 + 1 + 1-18-4 -4 = 13

몇 가지 잘못된 코드 조각 ...

x=2;print("Hello,world!")  

문제 : x가 할당되었지만 사용되지 않았습니다.

print("Hello,"*" world!")  

문제 : *불필요합니다. 결과가 없으면 결과가 같습니다.

k=1
if k>0
  print("Hello, world!")
else
  print("abcghjmquvxyzABCDEFGIJKLMNOPQRSTUVWXYZ_+*-&|")
end  

문제 : 두 번째 print명령이 실행되지 않습니다. 또한 두 번째 print명령 에서 인용 부호로 문자를 제거해도 출력이 변경되지 않습니다.

x="Hello, world!";
print(x)  

문제 : 줄 바꿈을 제거해도 결과가 변경되거나 오류가 발생하지 않습니다 (Julia에서는 세미콜론은 여러 명령이 같은 행에있는 경우에만 필요하고 그렇지 않으면 반환 값을 억제합니다).

print("Hellos\b, world!")  

문제 : s문자가에 의해 지워 지므로 결과에 영향을 미치지 않습니다 \b. 코드 ( "Hello",char(100),"\b, world!")를 통해 수행 할 수 있지만 문자열 리터럴 또는 문자 리터럴을 통해 수행 할 수는 없습니다.

편리한 점수 - 계산기 - http://jsfiddle.net/4t7qG/2/ - 손잡이 덕분에




3
내가 만든 JSFiddle을 당신이 당신의 코드를 삽입 할 수 있으며 자동으로 점수를 알아내는 곳. 게시물에 대한 링크를 수정해도 괜찮습니까?
Doorknob

1
@Dennis-프로그램으로 인해 명령으로 인해 줄 바꿈이 생성되면 아무런 문제가 없습니다 (예 : Julia의 println이 인쇄 된 다음 끝에 줄 바꿈을 추가 함). 그러나 문자열의 일부가되어서는 안됩니다.
Glen O

1
@ACarter-기본적으로 그렇습니다. 그러나 제한과 추론은 사소한 것이 아닙니다.
Glen O

답변:


17

펄-96

(이론상 최대 97 점을 감안할 때 매우 좋습니다)

s{}[Hel0o, w3$=d!];y<"#%&'*.124578:?@BCDEFGIJKLMNOQ/-9>(
    6PRSTUVWXYZ^_`abfghjmqvxz|~\cAk-u)+print

(두 번째 줄은 실제 \t탭 문자로 시작 합니다)

코드 길이는 98 자이며 모든 ASCII 문자를 정확히 한 번만 포함하고 여분의을 포함합니다 -.
98-2 = 96

아무 없습니다 문자열 리터럴은 여기에 있지만, 제거 어떤 단일 문자 프로그램을 나누기.

비난 독화

이 프로그램에는 3 개의 문장이 있습니다 (실제로는 2이지만 +문장 구분 기호로 남용 했습니다)

  1. s{}[Hel0o, w3$=d!]
    이것은 sed 연산자의 매우 확장 된 경우입니다. 그것은 더 일반적으로 작성된 것입니다 s/a/b/, 또는 s:a:b:, 그러나 펄은 여기에 훨씬 더 환상을 할 수 있습니다 : s(a)(b) s(a)^b^ s(a)[b], 심지어 s qaqbq.
    빈 문자열 (inside {})을 Hel0o w360d!(inside [])로 바꿉니다 ( 기본적으로 $=보간 됨 60). ~=연산자 가 없기 때문에에 작동합니다 $_.

  2. y<"#%&'*.124578:?@BCDEFGIJKLMNOQ/-9>(\n\t6PRSTUVWXYZ^_`abfghjmqvxz|~\cAk-u)
    이것은 매우 확장 된 경우이지만 tr연산자 y( y< >( )) 라고도 합니다.
    대체 테이블을 살펴 보겠습니다
    " # %&'*.124578:?@BCDEFGIJKLMNOQ /-9
    \n\t6PRSTUVWXYZ^_`abfghjmqvxz|~\cA k-u
    . 기존 문자열이 손상되지 않도록 일부 문자를 이동했습니다. 실제로 실제로 작동하는 부분은 /-9-> k-u입니다. 그것은 대체 0l, 3o,와 6함께 r. 연산자
    가 없기 때문에 다시 ~=작동합니다. $_
    이제 $_변수에 완전한 문구가 있습니다.

  3. print
    인수가 없으면 $_변수 만 인쇄 합니다.


나는 이것에 대해 언급 할만 큼 Perl을 모른다. <와 + 사이의 문자 세트는 무엇인가?
Glen O

@GlenO Only /-9이며 k-u실제로 문자열을 변환하는 데 사용됩니다. 나머지는 같은 크기의 쓰레기입니다. 하나의 문자 만 제거하면 세트가 잘못 정렬되고 프로그램이 "Hello, world!"를 출력하지 않습니다. 더 이상
mniip

이 경우 어떤 방법으로 "쓰레기"가 실행됩니까? 즉, 어떤 방식으로 작동합니까? 코드로 건너 뛰는 필러 인 경우 조건부 내에서 실행되지 않는 코드와 같습니다.
Glen O

3
@GlenO 아닙니다. 사양 : <...> removal of any single counting character must change the result or cause the code to not function.1 문자를 제거하면 어디에서나 깨집니다. 2자를 제거하여 작동시킬 수 있지만 규칙에는 없습니다.
mniip

2
All code must be functional. 최소한 규칙을 분명히 구부리고 있습니다. 나는 "규칙을 어기다"고 말하는 것이 아니라 확실히 의심 스럽다.
Glen O

7

이 답변은 문자열 리터럴에 대한 규칙을 추가하기 전에 작성되었으며 컨테스트에 참여하지 않습니다.

#include <iostream>
int main(){std::cout<<56+"  !$%^&*?12347890-_QWERTYUIOPASDFGJKLZXVBNM,.qypfghjk:zvbHel\x6Co, world!";}

완전히 합법적입니다. : P 해당 문자열에서 문자를 제거하면 인쇄 ello, world!됩니다.


답변에 코드 점수를 포함 시키십시오.
ProgramFOX

또한 점수는 변경되지 않지만 주변 공간을 <<제거해야합니다.
Martin Ender 2016 년

1
흠 ... 당신의 대답에 박수를 보내는 동안, 그것은 주로 나의 제한에 작은 구멍을 드러 냈습니다. 나는 당신에게 공감대를 줄 것입니다. 다른 사람들이 좋아한다면 같은 일을하게되어 기쁩니다.하지만 추가 제한 사항을 편집 할 것입니다.
Glen O

1
좋아, 이전 의견 외에도 문자열과 문자 리터럴이 관련되어야한다는 제한을 추가했습니다. 문자 내에서 문자를 교체하면 결과를 변경할 수 있어야합니다. 이것은 if 'x'>'w'기술을 허용 하지만 "k \ bH"가 "H"가되도록 차단합니다. 추가 된 제한에 따라 두 번째 답변을 자유롭게 제공하십시오.
Glen O

4

CJam, 94

{'H"EJO, WoRLD!"el96A+c/~_-3=0$@}"# 
`&^<>|;:?.()[]\1aBCdfFgGhiIjkKmMnNpPqQrsStTuUvVwxXyYzZ"254b87%*

온라인으로 사용해보십시오! 줄 바꿈 직전에 테 이브 레이터가 있어야합니다. SE는 테이블 레이터를 좋아하지 않으므로 수동으로 삽입해야합니다.

  • 100 자 길이
  • 반복 된 alnum : -0 ()
  • 구두점 반복 : -6 ( "" ")
  • 다른 반복 : -0 ()
  • 반복되는 공백 : -0 ()

총점 : 94

다음 코드를 사용하여 문자열 내부의 문자를 제거 할 수 없는지 확인했습니다.

"#  
`&^<>|;:?.()[]\1aBCdfFgGhiIjkKmMnNpPqQrsStTuUvVwxXyYzZ"
:A,,{_A\<A@)>+254b87%}%`

Hello, world! 횟수를 표시하는 배열을 인쇄합니다 . 색인에 해당하는 문자가 제거되면 인쇄됩니다.


링크에서 실행하면 "Hello, world!"가 생성됩니다. 연속 6 번. 또한 문자열은 무엇입니까?
Glen O

줄 바꿈이 실수라고 생각합니다. 제거하면 작동합니다.
Glen O

복사-붙여 넣기 문제. LF 바로 앞에 테이블이 있어야합니다. SE가 그렇게 할 수없는 것처럼 보입니다 ... 문자열은 기본 254 숫자 ( 254b)로 간주됩니다 . 최종 결과 계수 7은 1이어야하므로 이전 코드 블록이 한 번 실행됩니다. 각 캐릭터를 필요로하기 위해서는 모듈러스가 필요합니다.
데니스

음, 제거 ( "수정"코드 않음) 누락 된 탭에 추가 한 후에 ZT결과를 변경하지 않습니다, 또는 아마도 몇 가지 다른 문자.
Glen O

나는 당신의 질문의 일부를 끔찍하게 잘못 해석했습니다. 이제 수정되었습니다.
데니스

3

루비, 28 41

질문의 정신에서 해결책으로 답을 시작하십시오.

print"He#{?l*2}o, "+'world!'if[$`&(9<=>6)^7|~8-5/3.1%0x4]

채점 (이것이 옳은 것 같습니다) :

  • 57 자 길이
  • 반복 된 alnum : -12 ( orli)
  • 구두점 반복 : -4 ( "')
  • 다른 반복 : -0
  • 반복되는 공백 : -0

점수면에서 나에게 잘 보입니다. 적용되지 않는 위약금을 포함 할 필요는 없지만 포함 할 경우 해를 끼치 지 않습니다.
Glen O

.에서이 3.1문제없이 제거 할 수 있습니다. 깡통으로 x0x4또는 -에서 8-5.

3

PHP, 1 (예, 1 포인트!)

마법 문자를 사용하여 체크섬을 생성합니다. 체크섬은 이진 형식으로 "Hell", "o, w", "orld"및 "!"와 일치합니다.

보통 나는 허점을 찾는 것을 좋아하지만 이번에는 콘테스트의 정신과 의도에 따라 연주하기로 결정했습니다. 모든 캐릭터와 그 위치는 출력에 필수적입니다. 당신이 대체 할 수있는 유일한 장소는 리터럴 값없는 변수 이름 사이 공백입니다 php과 의 동등하게 취급 및 사용에 대 한 유사로 취급합니다.foreachPHP'"PHP

<?php foreach(array('_MC:`~+V4@SbHR/l[J','dN#UB`5!Rv^NG@D}','9gm6L&-kuD','8OM97g.q]XQ0')as$j)print(hash("crc32",$j,1))?>

참고로, 이들은 다음과 같은 다른 마법 문자열과 해시입니다.

E.D}S:  Hell
9UDIRQ: Hell
N\7&*`%:    orld
UWX[E^O:    orld
mAHzDEb:    !   
uLJ7Ck&:    Hell
B+bG5mYJ:   Hell
:OvMzuOR:   !   
TgYR9g!6k:  o, w
NkFN`!8mI:  o, w
N#VA\j~}J[: Hell
vEl*]@0XQ5: o, w
9gm6L&-kuD: orld
*}{Xg@HN`\: !   
Pj@Y44uA6YJ:    Hell
|7OX0VF8gv}:    !   
DLRJAjgMj}\:    !   
!0bT*D}O4Lw:    orld
YGN97^v7ZY`:    Hell
++~bL/kP:|]W:   o, w
8OM97g.q]XQ0:   !   
l^m-DqZ^g[&+:   !   
Ewu]Rv~*DHQ7:   Hell
JIqjgF|S!\`8l:  Hell
b4l!MEG7vTu6/:  Hell
+B:zEq*J\k-Cm:  !   
_}E7wZD76^`Y9AU:    orld
q:Nq-~+_S7~N9Hz:    !   

코드 여전히 기능 나는를 제거하는 경우 \t, \n또는 공간. PHP 전문가는 아니지만 ;옵션으로 보입니다.
mniip

@mniip-수정 사항 나는 경우에 따라 세미콜론이 선택 사항이라는 것을 알지 못했습니다.

3

Befunge-98 97 포인트!

"v!dlrow ,h
B[CDEFGIJkLMNOPH
$<QRSTUV@|5cg1fe':-%\64*ab+7_/89}{0  j2
WXYZK`.=#>]
s()impq	n 3~
Atuxz&;y^ ?

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

탭은와 사이 qn있습니다.

이전 Befunge 답변과 유사한 트릭을 사용하여 남은 문자로 줄을 채우지 만 실행 섹션에서 중복 문자를 사용하지 마십시오. 실행되지 않는 문자를 제거하면 실행 부분이 제자리에 있지 않아 일반적으로 무한 루프로 끝나거나 잘못된 출력을 인쇄합니다.

작동 원리

실제로 유일하게 실행되는 부분은 다음과 같습니다.

"v!dlrow ,h
         k     H
$<      @|5cg1fe':-%\64*ab+7
         >]
        ^ ?

먼저 래핑 문자열 리터럴을 사용 , world!하여 스택 에 추가 합니다. 이것은 두 가지를 피 "합니다.

$<      @|5cg1fe':-%\64*ab+7

이것은 Hello중복 문자를 피하기 위해 다양한 방법을 사용하여 스택에 추가 됩니다. $줄 바꿈 문자열 리터럴로 인한 초과 공간을 팝합니다.

7+h문자열 리터럴의 끝에서 7을 더하여을 만듭니다 o . ba*46\%:111의 ASCII 값을 계산 l하여 복제합니다.

'e 스택에 e를 추가합니다.

f1g 1,15에서 캐릭터를 얻습니다. H

그런 다음 ,문자열 의 in 을 재사용 하여 전체를 인쇄합니다 Hello, world!. 나머지는 방향으로 변경되어 끝으로 이동합니다 @.


1

루비, 78

더 많은 규칙 남용, 나는 패치가 무엇인지 정확히 모르겠습니다. 긴 문자열을 가져와 결과의 합계를 확인하므로 삭제하거나 변경하면 프로그램이 실패합니다. 일부 문자의 중복을 제거하고 공백을 제거하기 위해 약간 최적화되었을 수 있습니다.

puts('Hello, world!')if%["\#$&*+-/:;<>?@ABCDEFGIJKLMNOPQRSTUVWXYZ^_`abcghjknqvxyz{|}~123].sum==4980

3
문제는를 포함하여 모든 것을 if제거 할 수 있다는 것입니다.
seequ

@TheRare- if실제로 작동하고 규칙을 준수한 후에는 문제가 없습니다 .
Glen O

@GlenO 그러나 "이동식 코드"로 간주되지 않습니까? 그냥 puts('Hello, world!')작동합니다. 이것이 합법적이라면 규칙을 명확히해야한다고 생각합니다.
seequ

@TheRare-후시로, 아마도 "코드의 하위 세트가 동일한 출력을 생성 할 수 없어야합니다"를 사용했을 것입니다.하지만 규칙을 계속 변경해야한다고 생각하지 않습니다. 코드가 기능적이고 임의적이지 않고 다른 규칙을 따르는 한 합법적입니다. 적어도이 솔루션 방법은 대부분의 언어에서 달성 할 수 없습니다 (편집은 대부분의 언어에서 작동하는 허점을 닫았습니다).
Glen O

@GlenO 당신은 판사입니다. 의견이 불필요하다고 생각되면 삭제하도록 요청하십시오.
seequ

1

PHP, 2257

허점 : 백 슬래시는 사양 및 점수 계산기에서 생략되었습니다!

이 코드는 각 문자열에서 백 슬래시 발생 횟수를 계산하여 ASCII에 해당하는 값을 인쇄합니다. 백 슬래시를 다른 문자로 바꾸거나 백 슬래시를 삭제하면 구문 분석 오류가 발생하거나 결과가 변경됩니다.

백 슬래시에 대한 깔끔한 기능은 이스케이프 처리 PHP해야하므로 점수가 자동으로 두 배가됩니다! 백 슬래시 수를 곱하여 점수를 두 배로 늘리거나 세 배로 늘릴 수는 있지만 욕심을 피하고 싶지 않으며 입력 할 수있는 한계를 초과 할 수 있습니다.

<?php foreach(array('\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\','\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\','\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\','\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\','\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\','\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\','\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\','\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\','\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\','\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\','\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\','\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\','\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\')as$x)print(chr(substr_count($x,"\\")))?>

그것은 허점이 아니라 설명에서 오타에 지나지 않습니다. 더구나, 당신은 이미 알고있었습니다. 설명은 "다른 ASCII 문자"를 명시 적으로 말합니다. 이 내용을 읽을 때까지 포함되도록 편집되었습니다.
Glen O

특히 백 슬래시는 문제의 원인이되었지만 이스케이프를 이스케이프 시퀀스로 처리했음을 알지 못했습니다.
Glen O

이것은 규칙의 변경이 아니며 사소한 오타를 수정하는 것입니다. 백 슬래시는 규칙에 있었으며 방금 표시되지 않았습니다. 직접 보려면 "편집 된"버튼을 클릭 한 다음 "나란히 표시"를 클릭하십시오. 그리고 다른 사람들은 허점을 이용하지 않고 언어의 기능을 이용하고 있습니다.
Glen O

1

베 펀지-87

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

첫 번째 줄은 모든 반복으로 인해 4 점의 가치가 있지만 두 번째 줄에는 중복 된 문자가 없습니다. 이 코드에서 유일하게 문자열 리터럴은 dlrow ,olleH출력으로 바뀌고 인쇄됩니다. 하나의 문자를 제거 v하면 첫 번째 줄 끝의 두 번째 끝에서 연결이 끊어 @지고 프로그램이 종료되지 않습니다. 는 IF v자체가 제거되고, 그 다음 코드는 정확한 출력을 인쇄하는 무한 루프에 갈 것이다.



0

Acc !! , -138 (그렇습니다. 음수 138)

이것이 PPCG에서 얻은 최고 점수가 아닐 수도 있지만 Acc 에서 이것보다 더 높은 점수를 얻을 수 있을지는 의문입니다 !

108
Write 72
Write 101
Count i while i-2 {
	Write _
}
Write _+3
Write 44
Write 32
Write 119
Write 111
Write 114
Write _
Write 100
Write 33

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

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