-ENDED- 다른 것처럼 보이는 것을하십시오.


78

스 니펫, 함수, 프로그램 등을 작성하십시오. 스 니펫, 함수, 프로그램 등은 첫 번째 시각에서 다른 일을하는 것이 분명해 보일 정도로 난독 화됩니다.

예를 들어, 두 개의 숫자를 더하는 약간의 코드를 작성하되 "무엇을합니까?"라고 물으면 "Hello, World!"라고 인쇄됩니다.

규칙

  • 사용하는 언어를 대략 알고있는 사람이 코드를 읽을 수 있어야합니다 (자신의 이익을 위해 APL과 같은 본질적으로 난독 화 된 언어는 피하십시오).
  • 코드는 독자가 처음에는 예측할 수 없었던 예기치 않은 일을해야합니다.
  • 다른 독자에게 물을 때 코드가하는 일에 대해 동일한 (잘못된) 의견이 있어야합니다.

평가

  • 최대 10-20 초 동안 다른 참가자 코드를 읽으십시오. 여기서 발생하는 일에 대해 잘 알고 있습니다.
  • 코드가 생각 하는 바를 답변에 주석으로 추가하십시오 . 제공하려는 답변이 이미있는 경우 댓글을 +1 하면됩니다. (해답을 놓치고 다른 의견을 추가해도 걱정하지 마십시오. 다른 답변으로 계산되지 않습니다).
  • 포인트는 다음과 같이 인식됩니다 : ( maxFalseOpinion- goodGuess) / totalOpinion(아래 예 참조).
  • 페어 플레이로 다른 참가자를 평가 하고 자신의 코드에 댓글 을 달지 마십시오.
  • 유용한 의견 만 추가하십시오. "모름"과 "좋은 것"을 피하십시오. 등급은 고려되지 않지만 코드이며 난독 화해야하는 등급이 아닙니다.

평가 예

스 니펫은 두 개의 숫자를 추가합니다. 의견은 다음과 같이 말합니다.

(3) "Hello, World!"라고 표시됩니다
(1) 2 개의 숫자를 뺍니다.
(2) 2 개의 숫자를 더합니다.

총 포인트 수는 최대 의견 수 (3)-올바른 추측 수 (2)를 총 추측 수 (3 + 1 + 2 = 6)로 나눈 값입니다. 결과 : ( 3-2 ) / 6 = 1/6 = 16.67 % .


포인트에 대한 추가 정보

사람들은 요점을 알아내는 데 어려움이있는 것 같습니다.

완벽한 점수는 다음과 같습니다.

printf('Hello World');

설명 :
버튼을 클릭 한 횟수를 표시합니다. (17 코멘트).
총 : 17 개의 댓글

점수 : (17-0) / 17 = 1 = 100 %

절름발이 점수는 다음과 같습니다.

printf('Hello World');

의견 :
"Hello World"를 인쇄합니다. (13 코멘트).
총 : 13 개의 댓글

점수 : (0-13) / 13 = -1 = -100 %

다음은 그렇게 나쁘지 않은 점수입니다.

printf('Hello World');

설명 :
사용자 이름을 인쇄합니다. (2 코멘트).
현재 시간을 표시합니다 (15 개의 댓글).
수정하지 않고 입력 한 내용을 반환합니다. (3 코멘트).
"Hello World"(1 개의 코멘트)를 인쇄합니다.
총 : 21 개의 댓글

점수 : (15-1) / 21 = 0.6667 = 66.67 %
설명 :
15는 사람들이 가장 많이 말한 주요 추측입니다. 1은 정확한 추측 횟수입니다. 21은 모든 의견의 합계입니다.


5
참가자 (특히 C를 쓰는 사람)를위한 가능한 아이디어는 underhanded.xcott.com
— shiona

3
나는 사람들이 그 트릭을 보지 않으면 언급하기를 꺼려한다고 생각합니다 (명백하게 잘못되었을 것이기 때문에). 결과가 강력하게 수정됩니다.
— ugoren

2
@Haidro, 나는 당신이 언어를 조금만 알고 프로그램이 무엇을하는지 이해한다면, 의견을 말하십시오. 당신이 그것을 이해할 수 없다면 (예를 들어 슬랙웨어의 대답을 이해할 수 없습니다 ),하지 마십시오.
— ugoren

2
도전은 언제 끝납니 까?
— WolframH

4
나는 당신이 승자에게 최소한의 추측을 요구해야한다고 생각합니다. 저는 10이라고 말할 것입니다. 1 중 1 개의 오답은 그다지 인상적이지는 않지만 100 %입니다.
— ugoren

답변:


79

자바 스크립트

var а;
a = 1;
а++;
alert( a );

답 :를 출력 1합니다. 아래 주석은 꽤 잘 설명되어 있습니다-여기에는 두 개의 다른 변수가 있습니다 - '라틴 작은 문자 A' 와 а- '사이러스 작은 문자 A' .

정답 은 1 명 이고 50 명이 2를 출력한다고 생각했으며 총 52 개의 답변으로 점수는 ( 50-1) / 52 = 49/52 = 94,23 %입니다.


57
출력 2또는 적어도 그것이 희망입니다 :)
— Alexander

8
이것은 내가 아직 본 가장 멋진 JS 스 니펫입니다. 잘했다.
— Peter Majeed 14

1
그것을 얻지 못하는 사람들을 위해 (스포일러 앞서) : link
— BlueRaja-Danny Pflughoeft

3
@soandos : (AGAIN, SPOILERS) : 첫 번째 및 세 번째 줄에 사용 된 변수가 두 번째 및 네 번째 줄의 변수와 다릅니다. 하나는 사용 다른 사용하는 반면 (U + 0061)를 а을 (U + 0430). 도 참조하십시오 .
— BlueRaja-대니 Pflughoeft

5
내 친구가 이것이 매우 재미 있다고 생각하고이 github.com/johnhaggkvist/WATifyJS 를 작성하도록 영감을 받았다고합니다. 그는 댓글을 달기에는 너무 적은 담당자가있어서 그를 위해하고 있습니다 ^ _ ^
— Henrik Andersson

32

C, 33.3 %를 기록

#include <stdio.h>
int main(int ac, char **av) {
        const char *arg = av[1];
        #define valid_ch(ch) (ch!='&' && ch!='\\')  // All valid except & and \
        while (*arg)
        {
                if (valid_ch(*arg)) putchar(*arg);
                arg++;
        }
        puts("");
        return 0;
}

운영 ./prog 'Hello & goodbye, world!'

점수

정답은 H\n((가) while,로 끝나는 라인 덕분에 주석의 일부입니다 \육명에 의해 주어진, 그래서 루프가 없습니다).
가장 인기있는 실수는 Hello goodbye, world\n25 명입니다.
(25-6) / 57 = 33.3 %.
귀찮게 계산해 준 Olivier Dulac에게 감사드립니다.


24
"Hello goodbye, world!"를 인쇄
— 합니다.

5
끝없는 루프입니다.

5
arg의 첫 번째 문자와 줄 바꿈 만 인쇄합니다. 그래서 인쇄합니다 H\n.
— marinus

7
인쇄 : Hello goodbye, world!(아니 \ n) (안녕하세요 후 2 칸)
— Olivier Dulac

6
SEGFAULT를 생성합니다.
— pascalhein

27

파이썬

a = []
for i in range(10):
    a.append(i * ++i)
for a[i] in a: 
    print(a[i])

평가

  1. 정답 :0 1 4 9 16 25 36 49 64 64 각 번호를 한 줄에 인쇄 합니다.

  2. 설명 : 아무도 정답을 얻지 못했지만, 내가 의도 한 실수를 저지른 사람이 없기 때문에 대부분 실패한 시도라고 생각합니다. (다른 사람이 없으면 나중에 실제 설명을 추가하겠습니다.)

  3. 좋은 답변 수 : 0

  4. 같은 오답을 가진 사람들의 수 : 7

  5. 총 답변 수 : 11

  6. 점수 : 63,64 % (2 개의 소수로 반올림)

설명

먼저 목록 a이 작성되고 값이 채워집니다 i * ++i. ++파이썬 에는 연산자 가 없지만 +정수에 대해서는 아무것도하지 않는 단항 연산자가 있으며 두 번 적용해도 여전히 아무것도하지 않습니다. 그래서 a에서 정수의 제곱을 포함 0하는 9.

나는 ++주의를 산만하게하고 대부분의 유권자들이 함정을 발견하고 실제 함정에 빠졌다고 생각하면서 계속 진행하기를 바랐다. 작동하지 않았다. 어떤 사람들 ++은 이것이 구문 오류 라고 생각 했고 다른 사람들은 여전히 ​​트랩을 찾았습니다.

트랩 트랩은 두 번째 for 루프에있었습니다.

for a[i] in a: 
    print(a[i])

나는 대부분의 사람들이 이것이 한 줄에 모든 숫자 a[i], 즉 0 1 4 9 16 25 36 49 64 81각 숫자를 인쇄한다고 생각할 것이라고 확신했다 . 예를 들어,이 변수로 얻을 수있는 것입니다.

for x in a: 
    print(x)

x의 값을 할당 a한 후, 그리고 x인쇄된다. 첫 번째 버전에서는 a[i]에 값이 할당 된 a다음 a[i]인쇄됩니다. 차이점은 우리의 경우가 i == 9있으므로 a[9]루프를 통해 매번 값 이 변경 된다는 것입니다 . 마지막 a[9]으로 인쇄하면 값이 a[8]이므로 64다시 인쇄됩니다.


3
구문 오류 ( ++Python 에서는 아니오 )
— ugoren

5
SyntaxError두 번째 for.
— Bakuriu

81열 번 인쇄
— Michael0x2a

SyntaxError두 번째 for. 이것은 놀랍다. 이기는 정말 이겨야합니다. lol 무슨 일이 일어나고 있는지 이해하는 데 5 분이 걸렸습니다!
— rubik

이것은 게임의 끝입니다 .이 위에있는 의견으로 자신을 평가하십시오. 콘텐츠를 편집하고 추가 좋은 대답은 수 좋은 답변의 수 대부분 같은 일, 응답 한 사람들이 총 답변하고 점수를 . 주석 옆 의 2 는 3 개의 답변을 의미한다는 것을 잊지 마십시오 . 이 아래에 자유롭게 의견을 말하십시오.
— SteeveDroz

26

자바 스크립트 , 점수 -100 %

게리 번 하르트 (Gary Bernhardt)가 이걸 발명 하지 않았지만 그것은 내가 가장 좋아하는

alert(Array(16).join("wat?" - 1)+", BATMAN!")

37
출력 NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN, BATMAN! :)
— codefreak

1
이것은 게임의 끝입니다 .이 위에있는 의견으로 자신을 평가하십시오. 콘텐츠를 편집하고 추가 좋은 대답은 수 좋은 답변의 수 대부분 같은 일, 응답 한 사람들이 총 답변하고 점수를 . 주석 옆 의 2 는 3 개의 답변을 의미한다는 것을 잊지 마십시오 . 이 아래에 자유롭게 의견을 말하십시오.
— SteeveDroz

그 비디오는 꽤 유명한 것 같습니다 ...
— Bakuriu

3
– 이것 -100%입니까?
— Alvin Wong

물론이야. 배트맨은 그것을 포기합니다.
— mplungjan

14

파이썬, -54.8 %

답변 : 제기 SyntaxError: not a chance

from __future__ import braces

if (input() > 0) {
print 'You entered a positive number';
}
else {
print 'You didn\'t enter a positive number';
}
  • 좋은 추측 : 24
  • 같은 나쁜 추측 : 7
  • 총 추측 : 31

설명:

from __future__ import braces파이썬에서 부활절 달걀 중 하나입니다. 파이썬은 앞으로 범위 지정을 위해 중괄호를 사용하지 않을 것이라고 농담으로 의미합니다.


6
사용자 제공 표현식의 결과가 서명되었는지 테스트합니다.
— Felix Dombek

1
꽤 많은 오류가 있다고 생각합니다. 파이썬 프로그래머는 완고하다;)
— grc

12
이것은 구문 오류입니다!
— Dhara

11
SyntaxError: not a chance
— Bakuriu

2
@BoppreH 어떠한 명시 적 설명 없이도 결과를 진술하거나 자신이 올바른 것으로 생각되는 결과를 이미 언급 한 의견을 찬성하십시오. 다른 종류의 의견은 독자를 따르는 재미를 망치기 만합니다.
— Bakuriu

14

펄, 26.67 %

결과 :

이것은 "아무것도 말하는 것에 대해 모호합니다"라고 인쇄합니다.

my $num1,$num2 = @_;괄호가 없습니다. 따라서와 같습니다 my $num1; $num2 = @_;. $num1아무것도 설정되지 않습니다.

따라서 $num10보다 크지 않습니다. 화면에 숨겨져있는 은밀한 어류 세계는 붉은 청어입니다. 사람들은 그들이 "속임수"를 발견했다고 생각합니다.

또한 삼항 연산자는 Perl의 l 값입니다. 1 ? $a = 1 : $b = 2실제로는를 의미 (1 ? $a = 1 : $b) = 2합니다. 어떤 의미 ($a = 1) = 2설정, 평가 $a에 2. 모양과 달리 두 번째 문자열은에 할당됩니다 $num1.

궁금한 //점이 있으면 정의 된 또는 연산자입니다. 하위가 정의되지 않은 값을 반환하면 문자열 "Stuff did not happen."이 인쇄됩니다. 그러나 실제로는 일어나지 않습니다. 사람들에게 다른 옵션을 제공하는 것이 었습니다.

채점 :

정확한 총계 : 5

총 추측 : 30

점수 : (13-5) / 30 = 26.67 %

no warnings;
no strict;
no feature;
no 5.16;
no Carp;

sub do_mysterious_stuff
{
    my $num1,$num2 = @_;               

    if ($num1 > 0)
    {                                                                                                                  eval q; $num1="This is a secret fish world. Carp cannot be repressed!" or
       $num1 = "Hello, world!";
    }
    else
    {
        $num2 > 0 ? 
            $num1 = "What's up, world?": 
            $num2 = "I am ambivalent about saying anything at all.";
    }

    return $num1;
}

print do_mysterious_stuff(1,1) //"Stuff did not happen.";

2
출력, 나는 아무것도 말하는 것에 대해 모호합니다.
— marinus

10
인쇄합니다 This is a secret fish world. Carp cannot be repressed!.
— ugoren

13
펄 전문가가 아니라면 인쇄해야합니다 Hello, world!.
— Alexander

2
그게 다야. 나는 다시 펄을 다루지 않을 것이다.
— Mr. Llama

3
@ContextSwitch 및 @aidan의 3 항 연산자는 Perl의 l 값입니다. 1 ? $a = 1 : $b = 2실제로 의미 (1 ? $a = 1 : $b) = 2합니다. 어떤 의미 ($a = 1) = 2설정, 평가 $a프리모가 지적했듯이, 또한 (2)에 my $num1, $num2 = @_;괄호가 없기 때문에 당신이 무엇을 기대하지 않습니다.

14

PHP 52 %

  $arg = 'T';
  $vehicle = ( ( $arg == 'B' ) ? 'bus' :
               ( $arg == 'A' ) ? 'airplane' :
               ( $arg == 'T' ) ? 'train' :
               ( $arg == 'C' ) ? 'car' :
               ( $arg == 'H' ) ? 'horse' :
               'feet' );
  echo $vehicle;

( 여기서 그대로 복사 )

설명 및 점수

정답은 horse 입니다. 이것은 속임수 나 손이 엉망이 아닙니다. 기이하게도, 이것은 삼항 연산자가 PHP에서 정의 된 방식입니다.
3 은 정답을 선택했습니다 : horse ,
16 명은 PHP를 제외하고 문자 그대로 다른 모든 언어로 정확한 열차 를 선택했습니다 . 총
25 답변, (16-3) / 25 = 52 %의 점수를 제공


5
피트
— WIM

15
인쇄합니다 train.
— SteeveDroz

3
'말'을 인쇄합니다.
— Jonathan


1
그리고 그 이유는 필요하지 않다고 생각하더라도 거의 항상 괄호를 사용하여 작업 순서를 나타내야하는 이유 입니다.
— Ryan Amos

12

C ++ 28.9 %

#include <iostream>

using namespace std;

void print( void ) {
  static int times = 0;

  switch( times ) {
  case 0:
     cout << "Hello";
     break;
  case 1:
     cout << "World";
     break;
  default:
     cout << "Goodbye";
     break;
  }
  times++;
}

int main(int cout, char* argv[]) {

  print();
  cout << '\n';
  print();
}

해결책

이 코드의 핵심은 "Hello"와 "World"텍스트 사이에 줄 바꿈 문자가 인쇄 될 것이라고 생각하도록 사용자를 속이는 것입니다. main의 첫 번째 매개 변수 이름은 cout입니다. main의 범위에서 cout은 정수이므로 << 연산자는 실제로 줄 바꿈을 인쇄하는 대신 '\ n'매개 변수를 사용하여 왼쪽 이동 연산을 수행합니다. 인쇄 기능은 주로 main의 입력 매개 변수에서주의를 기울일뿐만 아니라 네임 스페이스 접두사를 추가하지 않고 std :: cout을 사용할 수 있도록합니다.

점수

Alvin Wong의 의례

  • 총 38 개의 답변 :
  • (12) 생각 HelloWorld(minitech의를 고려하고 zeel 년대는 동일)
  • 23 생각 Hello\nworld 3 다른 생각.
  • 점수는 ( 23-12 ) / 38 = 28.9 %

23
한 줄에 "Hello"를 인쇄하고 다음 줄에 "World"를 인쇄합니다.
— redtuna

2
"HelloWorld"를 인쇄합니다. cout매개 변수없이 호출 된 경우 1024를 넣습니다 .
— Alexander

9
인쇄 HelloWorld합니다.
— Ry-

1
HelloWorld를 인쇄합니다. 그리고 정수 "cout"에 대해 비트 단위 왼쪽 시프트를 수행합니다.
— zeel

이것은 게임의 끝입니다 .이 위에있는 의견으로 자신을 평가하십시오. 콘텐츠를 편집하고 추가 좋은 대답은 수 좋은 답변의 수 대부분 같은 일, 응답 한 사람들이 총 답변하고 점수를 . 주석 옆 의 2 는 3 개의 답변을 의미한다는 것을 잊지 마십시오 . 이 아래에 자유롭게 의견을 말하십시오.
— SteeveDroz

10

루비, 100 %

display = lambda { puts "Hello, world!" }
display()

정답 :

줄 바꿈없이 "main"을 인쇄합니다. 설명 : Ruby에서는 일반 괄호 구문을 사용하여 람다를 호출 할 수 없습니다. 대신, display ()는 모든 객체에 내장 된 메소드로 해석됩니다. o.display는 o.to_s를 표준 출력으로 인쇄합니다. 객체없이 호출 된 메소드는 커널 모듈을 포함하는 객체 "main"의 메소드로 해석됩니다.

점수 : 같은 오답 중 3 개, 다른 답변은 없습니다.


3
"Hello, world!"를 인쇄합니다.
— 3Doubloons

이것은 게임의 끝입니다 .이 위에있는 의견으로 자신을 평가하십시오. 콘텐츠를 편집하고 추가 좋은 대답은 수 좋은 답변의 수 대부분 같은 일, 응답 한 사람들이 총 답변하고 점수를 . 주석 옆 의 2 는 3 개의 답변을 의미한다는 것을 잊지 마십시오 . 이 아래에 자유롭게 의견을 말하십시오.
— SteeveDroz

8

파이썬, -28.13 %

x = 0
while x < 10:
    if (x%2)==0: x += 2
else: x += 1

print x

이는 루프가 종료 된 후에 속하는 블록 이 실행 11되기 때문에 인쇄 됩니다.elsewhile

  • 최대 잘못된 추측 수 : 8
  • 정확한 추측 : 17
  • 총 추측 : 8 + 17 + 7 = 32

점수 : (8-17) / 32 = -28.13 %


7
들여 쓰기가 누락되어 실패else:
— Alexander

16
11한 줄에 인쇄 합니다.
— Bakuriu

6
10을 인쇄합니다.
— 복사

이것은 게임의 끝입니다 .이 위에있는 의견으로 자신을 평가하십시오. 콘텐츠를 편집하고 추가 좋은 대답은 수 좋은 답변의 수 대부분 같은 일, 응답 한 사람들이 총 답변하고 점수를 . 주석 옆 의 2 는 3 개의 답변을 의미한다는 것을 잊지 마십시오 . 이 아래에 자유롭게 의견을 말하십시오.
— SteeveDroz

8

파이썬 : 평가 : -27 %

name = "Robin"
seek = "Seek and find holy grail"
favorite_color = "blue"

from os import *

print "What is your name: %s" % name
print "What is your quest: %s" % seek
print "What is your favorite color: %s" % favorite_color

이 프로그램은 다음을 인쇄합니다.

What is your name: <value of os.name> 
What is your quest: Seek and find holy grail
What is your favorite color: blue

등급 : 총 의견 수 : 22 12 정확한 3 + 1 + 6 잘못 [바쿠 이루의 대답에 따르면, os.name은 문자열이므로 os.name은 함수 임)

그 가정에 근거한 평가와 평가 시스템에 대한 나의 이해 : 최대 잘못된 = 6 정확한 = 12 점수 = (6-12) / 22 = -27 %


11
인쇄 What is your name: [operating system name], What is your quest: Seek and find the holy grail, What is your favourite color: blue별도의 줄에. 분명히 [operating system name]실제 이름으로 바뀝니다.
— 변동성

3
name = "Robin", seek = "Seek and find holy grail"및 favorite_color = "red", oh, no가있는 마지막 3 줄을 표시합니다 . blue! (AAARRGGGHHH!)
— SteeveDroz

5
What is your name: <function os.name at 0x....>등을 인쇄합니다 .
— Bakuriu

출력 What is your name: Robin, What is your quest: Seek and find holy grail그리고 What is your favorite color: blue별도의 라인.
— Rory O'Kane

이것은 게임의 끝입니다 .이 위에있는 의견으로 자신을 평가하십시오. 콘텐츠를 편집하고 추가 좋은 대답은 수 좋은 답변의 수 대부분 같은 일, 응답 한 사람들이 총 답변하고 점수를 . 주석 옆 의 2 는 3 개의 답변을 의미한다는 것을 잊지 마십시오 . 이 아래에 자유롭게 의견을 말하십시오.
— SteeveDroz

7

파이썬

import sys

class TwoPlusTwoIsFive(object):
  def __bool__(self):
    if 2 + 2 == 5:
      return True
    else:
      return False

two_plus_two_is_five = TwoPlusTwoIsFive()

if two_plus_two_is_five:
  print('{} is company'.format(sys.version[0]))
else:
  print('{} is a crowd'.format(sys.version[0]))

편집하다:

점수 (8-1) / 9 == 77.7 %

올바른 결과는 파이썬 2에서 '2는 회사'이고 파이썬 3에서는 '3은 군중입니다'입니다.


7
2 is a crowd(파이썬 3의 파이썬 2, 3).
— ugoren

2 is company(Python 2) 또는 3 is a crowd(Python 3).
— WolframH

이것은 게임의 끝입니다 .이 위에있는 의견으로 자신을 평가하십시오. 콘텐츠를 편집하고 추가 좋은 대답은 수 좋은 답변의 수 대부분 같은 일, 응답 한 사람들이 총 답변하고 점수를 . 주석 옆 의 2 는 3 개의 답변을 의미한다는 것을 잊지 마십시오 . 이 아래에 자유롭게 의견을 말하십시오.
— SteeveDroz

5
젠장 특별한 방법 이름 바꾸기! :)
— Bakuriu

7

자바 스크립트, -46.7 %

var getResult = function(n, notReadyYet) {
    alert("Calculating results...");
    if (notReadyYet) {
        setTimeout(getResult, 100, n);
    } else {
        sayResult(n);
    }
    return arguments.callee;
}

var sayResult = function(n) {
    if (n >= 10) {
        alert("That's a big number!");
    }
    if (n < 10) {
        alert("That's a small number.");
    }
    return n;
}

(function() {
    var input = parseInt(prompt("Please enter a number:"));
    var result = getResult(input, true);
    return result;
})();

준비가되면 여기에서 실행할 수 있습니다 (먼저 추측 해보십시오!). JS 패널에서 충분히 아래로 스크롤하면 간단한 설명과 함께 코드가 표시됩니다.

정답 :

사용자에게 숫자를 입력하도록 요청하면 무한 루프에 들어가고 최대 호출 스택 크기가 초과 될 때까지 "결과 계산 중 ..."경고가 표시됩니다 (jsfiddle 예제는 약 20 회 후에 중지됩니다). 그러나 sayResult 함수의 닫는 중괄호 뒤에 세미콜론이 있으면 주석에 설명 된대로 mgibsonbr로 작동합니다.

채점 :

  • 좋은 답변 : 9
  • 가장 인기있는 오해 : 2
  • 총 답변 : 15

질문 Please enter a number:과 함께 번호를 묻고 답 을 반환합니다 true.
— SteeveDroz

8
그것은 "결과 계산"광고 무한대를 팝업하여 무한 루프에 고정
— SeanC

숫자를 입력하라는 메시지를 표시하고 "결과 계산"을 두 번 경고 한 다음 "이 숫자는 _ 숫자"입니다
— mgibsonbr

1
That's a big numberms 단위로 입력 한 숫자와 같은 지연 후에 출력 됩니다.
— Gieron

브라우저 및 / 또는 DOM 설정 방법에 따라 (정말로 JS를 처음 사용함) 페이지로드시 호출되는 함수의 이름을 출력합니다.
— Kevin

6

자바 스크립트

var a = [];
a.push( "Hello" );
a.concat( [ ", ", "world", "!" ] );
alert( a.join("") )

답변 : 경고합니다Hello . 이 concat메소드 는 배열을 수정하지 않습니다 . 메소드 는 호출 된 배열과 제공된 다른 인수의 연결을 포함하는 배열을 리턴 합니다.

15 개의 정답, 26 개의 틀린 점, 총 41 개의 답이 있으며 점수는 (26-15) / 41 = 11/41 = 26,83 %


25
경고Hello, world!
— SteeveDroz

14
경고Hello
— 변동성

이것은 게임의 끝입니다 .이 위에있는 의견으로 자신을 평가하십시오. 콘텐츠를 편집하고 추가 좋은 대답은 수 좋은 답변의 수 대부분 같은 일, 응답 한 사람들이 총 답변하고 점수를 . 주석 옆 의 2 는 3 개의 답변을 의미한다는 것을 잊지 마십시오 . 이 아래에 자유롭게 의견을 말하십시오.
— SteeveDroz

5

파이썬 33.3 %

def Test():
    False = True
    True = False
    if False:
        return False
    elif True:
        return True
    else:
        return None

a = Test()
print a

참고 : 이것이 Python 3이 아니라 Python 2.x라고 가정하십시오.


이 코드를 실행하면 UnboundLocalError: local variable 'True' referenced before assignment.


1
12SyntaxError
— 47에

그렇지 False, True = True, False않습니까?

그것이 무엇입니까. (어쨌든, 나는
— 그것이이

4
이 인쇄 True됩니다.
— WolframH

1
를 발생 UnboundLocalError시킵니다.
— Bakuriu

5

자바

public class Puzzle {

    public static void main(String[] args) {
        String out = "Some ungodly gibberish";
        //char x = \u000a; out = out + " and then some more. ";
        System.out.println(out);
    }
}

codegolf에서 첫 시도 ...

좋은 답변 : 인쇄 Some ungodly gibberish and then some more.와 개행

평가:

  • 최대 추측 횟수 6
  • 총 추측 횟수 11
  • 정확한 추측 횟수 5 (pedanitc 모드 인 경우 0)

점수 : 9 % (페단 틱 모드에서 55 %)


5
인쇄Some ungodly gibberish and then some more.
— cardboard_box

6
Some ungodly gibberish줄 바꿈으로 인쇄
— MrZander

이것은 게임의 끝입니다 .이 위에있는 의견으로 자신을 평가하십시오. 콘텐츠를 편집하고 추가 좋은 대답은 수 좋은 답변의 수 대부분 같은 일, 응답 한 사람들이 총 답변하고 점수를 . 주석 옆 의 2 는 3 개의 답변을 의미한다는 것을 잊지 마십시오 . 이 아래에 자유롭게 의견을 말하십시오.
— SteeveDroz

5

C # 62.5 %

int sum=0;
List<Task> threads = new List<Task>();
for (int i=1; i<=10; i++) {
  Task adder = new Task( ()=> sum += i );
  threads.Add( adder );
  adder.Start();
}
foreach (var t in threads ) { 
  t.Wait();
}
Console.WriteLine("Sum of all numbers in 1..10 is: "+sum);

이것은 나의 첫 번째 코드 골프입니다.

정답은 "55에서 110 사이"였습니다. "sum + = i"문이 실행될 때마다 현재 값 i를 사용하기 때문입니다. 이 코드 는 for 루프가 완료된 후에도 실행될 수 있으며 ,이 시점에서 i는 11의 값을 갖습니다. 이는 가장 높은 값을 110으로 만듭니다. 가능한 가장 작은 값은 sum (1..10)이며 55입니다.

  • 좋은 답변 : 0
  • 대략 좋은 답변 만 : 5
  • 가장 인기있는 답변이 선정 된 횟수 : 5
  • 총 답변 : 8

점수 : 엄밀히 말하면 아무도 제대로 이해하지 못하므로 점수는 (5-0) / 8 = 62.5 % 여야합니다 . 우리가 정답으로 "대략 좋은"것으로 기꺼이 평가한다면, 점수는 (5-5) / 8 = 0 %입니다.


4
55에서 100 사이의 불확실한 숫자를 인쇄합니다.
— Ry-

그것은 단지 100을 인쇄합니다.
— Kevin

1
0 (포함)과 110 (포함) 사이의 '무작위'숫자를 인쇄합니다.
— fjdumont

이것은 게임의 끝입니다 .이 위에있는 의견으로 자신을 평가하십시오. 콘텐츠를 편집하고 추가 좋은 대답은 수 좋은 답변의 수 대부분 같은 일, 응답 한 사람들이 총 답변하고 점수를 . 주석 옆 의 2 는 3 개의 답변을 의미한다는 것을 잊지 마십시오 . 이 아래에 자유롭게 의견을 말하십시오.
— SteeveDroz

대부분의 사람들이 코드를 잘못 이해하지 않을 정도로 충분히 옳았습니다.
— redtuna

4

파이썬, -83.3 %

답 : a < b입력이 같고 a = b첫 번째가 더 큰 a > b경우와 두 번째가 더 큰 경우 인쇄합니다.

a = input()
b = input()
print 'a', '<=>'[cmp(a, b)], 'b'
  • 좋은 추측 : 11
  • 같은 나쁜 추측 : 1
  • 총 추측 : 12

설명:

cmp(a, b)반환 0모두 인수하는 경우는, 동일 1첫 번째 큰 경우, 그리고 -1첫 번째 잘못된 비교 기호가 인쇄 된 이유입니다, 작은 경우.


7
a> ba <b가 a == b 인 경우 a = b를 인쇄하거나 a> b 인 경우 a> b를 인쇄합니다.
— Foon

지문 a = b입력 할 == B를위한 a < b입력 A> B 용 및 a > b입력을위한 <B
— WIM

2
a = ba> b a < b이면 a = b a > b이면 a < b 이면 인쇄 합니다 . (아마도 @Foon의 의미 일 것입니다.)
— flornquake

이것은 게임의 끝입니다 .이 위에있는 의견으로 자신을 평가하십시오. 콘텐츠를 편집하고 추가 좋은 대답은 수 좋은 답변의 수 대부분 같은 일, 응답 한 사람들이 총 답변하고 점수를 . 주석 옆 의 2 는 3 개의 답변을 의미한다는 것을 잊지 마십시오 . 이 아래에 자유롭게 의견을 말하십시오.
— SteeveDroz

1
나는 이것이 점수 쇼보다 낫다고 생각합니다. 오류 찾기 모드에 있지 않았다면 찾지 못했을 수 있습니다.
— WolframH

4

PHP, 100 %

코드 걸프에 처음으로 게시 할 때, 이것이 나쁘지 않기를 바랍니다.

function word_to_num($word) {
 switch ($word) {
  case "one":
   return 1;
  case "two":
   return 2;
  case "three":
   return 3;
  default:
   return "error";
 }
}
function print_word($num) {
 switch ($num) {
  case 1:
   print "hello";
   break;
  case 2:
   print "world";
   break;
  case "error":
  default:
   print " ";
  }
}

$words = array("one", 0, "two");
foreach ($words as $word) {
 $result = word_to_num($word);
 print_word($result);
}

올바른 결과는 'hellohelloworld'입니다.

점수는 (10-0) / 10 = 1 = 100 %


9
인쇄 hello world합니다.
— flornquake

이것은 게임의 끝입니다 .이 위에있는 의견으로 자신을 평가하십시오. 콘텐츠를 편집하고 추가 좋은 대답은 수 좋은 답변의 수 대부분 같은 일, 응답 한 사람들이 총 답변하고 점수를 . 주석 옆 의 2 는 3 개의 답변을 의미한다는 것을 잊지 마십시오 . 이 아래에 자유롭게 의견을 말하십시오.
— SteeveDroz

하하 Darn PHP.
— Ry-

'one' == 0=> true. 꽤 영리합니다.
— primo

4

펄 : 100 % (4-0) / 4

print (1 + 2) * 3, "\n"; 
#

이 프로그램은 줄 바꿈없이 "3"을 인쇄합니다. 펄은이 명령어를

((print (1+2)) * 3, "\n")

따라서에 (1+2)대한 인수 로만 전달됩니다 print.


3
인쇄 9다음에 줄 바꿈
— 3Doubloons

이것은 게임의 끝입니다 .이 위에있는 의견으로 자신을 평가하십시오. 콘텐츠를 편집하고 추가 좋은 대답은 수 좋은 답변의 수 대부분 같은 일, 응답 한 사람들이 총 답변하고 점수를 . 주석 옆 의 2 는 3 개의 답변을 의미한다는 것을 잊지 마십시오 . 이 아래에 자유롭게 의견을 말하십시오.
— SteeveDroz

3

씨#

static void Main(string[] args)
{
     Console.WriteLine('H' + 'e' + 'l' + 'l' + 'o');
     Console.ReadLine();
}

3
각 문자 (500)의 ASCII 값의 합계를 인쇄합니다.
— 3Doubloons

이것은 게임의 끝입니다 .이 위에있는 의견으로 자신을 평가하십시오. 콘텐츠를 편집하고 추가 좋은 대답은 수 좋은 답변의 수 대부분 같은 일, 응답 한 사람들이 총 답변하고 점수를 . 주석 옆 의 2 는 3 개의 답변을 의미한다는 것을 잊지 마십시오 . 이 아래에 자유롭게 의견을 말하십시오.
— SteeveDroz

공평하게, 나는 그것을 처음 보았을 때 "Hello"로 인쇄되었다고 생각했지만 두 번 찍었습니다.
— redtuna

3

CPython

if 'Hello' + 'World' is 'HelloWorld':
  print 'Hello'
if 'Hello' + 'World!' is 'HelloWorld!':
  print 'World!'

올바른 출력은 'Hello'입니다.

점수 (14-3) / 19 == 57.9 %


13
아무것도 인쇄하지 않습니다.
— TerryA

1
인쇄 Hello\nWorld!합니다.
— Bakuriu

2
인쇄 Hello합니다. (구현에 따라 다름)
— WolframH

이것은 게임의 끝입니다 .이 위에있는 의견으로 자신을 평가하십시오. 콘텐츠를 편집하고 추가 좋은 대답은 수 좋은 답변의 수 대부분 같은 일, 응답 한 사람들이 총 답변하고 점수를 . 주석 옆 의 2 는 3 개의 답변을 의미한다는 것을 잊지 마십시오 . 이 아래에 자유롭게 의견을 말하십시오.
— SteeveDroz

3

C (점수 : 4.45 %)

좋은 추측 : 7
최대 틀린 추측 : 6 + 2 = 8
총 추측 : 6 + 7 + 3 + 2 + 4 = 22

해결책 : ??/ 의 삼부작 \이므로 줄 바꿈이 이스케이프되고 scanf줄이 주석 처리됩니다. 따라서 프로그램은 영원히 실행되어 인쇄 Guess a number between 1 and 10:합니다. 댓글은 Mozart의 인용문입니다 (via fortune).

// Why not?/
#include <stdio.h>
#include <stdlib.h>
#include <time.h>

// What?/
int main(int argc, char** argv)
{
    // Why not?/
    int number;

    // Why should I not send it?/
    srand(time(NULL));

    while(1)
    {
        // Why should I not dispatch it?/
        printf("Guess a number between 1 and 10: ");

        // Why not??/
        scanf("%d", &number);

        // Strange! I don't know why I shouldn't/
        if(number == rand() % 10 + 1)
        {
            // Well, then/
            printf("You guessed right!\n");
            // You will do me this favor./
            exit(0);
        }
    }
}

스포일러, 컴파일 및 실행 방법 :

gcc test.c-그래프


5
의견은 산만하다. 프로그램은 "1에서 10 사이의 난수를 추측"입니다.
— luser droog

6
"Guess a number between 1 and 10: Guess a number between 1 and 10: Guess a number between 1 and 10: " (and so on)입력을 요구하지 않고
— pascalhein

2
C ++처럼 보일 때 주석에 악의가 숨겨져 있습니다.
— Alexander

1
결국, "You guessed right!"와 줄 바꿈을 인쇄 한 다음 끝납니다.
— Kaz Dragon

4
사악한 말은 삼부작과 관련이 있습니다.
— 시오 나

3

자바

public class Test {
    public static void main(String[] args) {
        String fmt = "%s - %04d\n";
        System.out.println(fmt.format("Padded value: ", 0x0c));
    }
}

대답

Padded value:줄 바꿈과 함께 인쇄 됩니다.

String의 format메소드는 static형식이며 첫 번째 매개 변수로 전달됩니다. 즉 위의 호출은 다음과 같습니다.

        System.out.println(String.format("Padded value: ", 0x0c));

정답 수 : 2 오답 : 9

점수 : (9-2) / 11 = 63 %


8
인쇄Padded value: - 0012\n
— 복사

1
이것은 "추가 된 값 :`다음에 개행 문자를 출력합니다.
— Alvin Wong

이것은 게임의 끝입니다 .이 위에있는 의견으로 자신을 평가하십시오. 콘텐츠를 편집하고 추가 좋은 대답은 수 좋은 답변의 수 대부분 같은 일, 응답 한 사람들이 총 답변하고 점수를 . 주석 옆 의 2 는 3 개의 답변을 의미한다는 것을 잊지 마십시오 . 이 아래에 자유롭게 의견을 말하십시오.
— SteeveDroz

3

씨

#include <stdio.h>
#define SIX  1+5
#define NINE 8+1

int main()
{
    printf("%d\n", SIX * NINE);
}

점수 = (3-16) / 19 == -68.4 %

수건을 잊지 마세요.


15
그것은 42 + 개행을 인쇄합니다
— Paul Cager

이것은 게임의 끝입니다 .이 위에있는 의견으로 자신을 평가하십시오. 콘텐츠를 편집하고 추가 좋은 대답은 수 좋은 답변의 수 대부분 같은 일, 응답 한 사람들이 총 답변하고 점수를 . 주석 옆 의 2 는 3 개의 답변을 의미한다는 것을 잊지 마십시오 . 이 아래에 자유롭게 의견을 말하십시오.
— SteeveDroz

방금 당신의 퍼즐을 발견했습니다. 나는 잘못된 xP를 얻었을 것이다. 나는 Java / C # 프로그래머이다. 그래서 그것은 나의 변명이다 ...
— Kevin

3

C ++

#include <cstdio>

int main()
{
    int f;

    f or (f = 0, f < 1000, ++f,
        printf("H ello world !\n"));

    return 0;
}

점수 = (1-6) / 7 = -0.71428571428571 = -71.428571428571 %


5
그것은 아무것도하지 않습니다.
— SteeveDroz

컴파일하지 않습니다.
— f.ardelian

이것은 게임의 끝입니다 .이 위에있는 의견으로 자신을 평가하십시오. 콘텐츠를 편집하고 추가 좋은 대답은 수 좋은 답변의 수 대부분 같은 일, 응답 한 사람들이 총 답변하고 점수를 . 주석 옆 의 2 는 3 개의 답변을 의미한다는 것을 잊지 마십시오 . 이 아래에 자유롭게 의견을 말하십시오.
— SteeveDroz

2

자바 스크립트

var x = 0;
var y = !x * 4;
var z = !y;
alert("Z = "+z);

13
경고합니다 Z = false.
— SteeveDroz

이것은 게임의 끝입니다 .이 위에있는 의견으로 자신을 평가하십시오. 콘텐츠를 편집하고 추가 좋은 대답은 수 좋은 답변의 수 대부분 같은 일, 응답 한 사람들이 총 답변하고 점수를 . 주석 옆 의 2 는 3 개의 답변을 의미한다는 것을 잊지 마십시오 . 이 아래에 자유롭게 의견을 말하십시오.
— SteeveDroz

2

파이썬

def greeting():
  try:
    return 'Hello World'
  finally:
    return 'HELL0 W0RLD'

print greeting().lower()

올바른 출력은 'hell0 w0rld'입니다.

점수 (8-14) / 22 == -27.3 %


7
Hello World
— TerryA

14
인쇄hell0 w0rld
— SteeveDroz

이것은 게임의 끝입니다 .이 위에있는 의견으로 자신을 평가하십시오. 콘텐츠를 편집하고 추가 좋은 대답은 수 좋은 답변의 수 대부분 같은 일, 응답 한 사람들이 총 답변하고 점수를 . 주석 옆 의 2 는 3 개의 답변을 의미한다는 것을 잊지 마십시오 . 이 아래에 자유롭게 의견을 말하십시오.
— SteeveDroz

2

R : 100 %

상상력이 없지만 일부 사람들을 어리둥절하게 만들 수 있습니다.

sum(data.frame(rep(1,10),stringAsFactors=TRUE))

결과가 어떻게 생각하십니까?

편집 :

대답 인해 누락 20.였다 s에서가 stringAsFactors(대신 stringsAsFactors함수라는 새로운 항목을 생성하므로), 인수가 인식되지 않는다 stringAsFactors. 벡터 재순환으로 인해 열에 10 번의 s가 포함되어 합계 TRUE로 1s로 변환 되므로 총 20이 아니라 10이됩니다.

이 답변은 주석에 제공되지 않았습니다. 3 가지 답변이 제공되었습니다 (모두 10더 많거나 적음). 따라서 100 %의 점수라고 생각합니다.


값을 반환합니다 10.
— SteeveDroz

1
나는 처음에 그것이 10을 돌려 줄 것이라고 생각했다. 비열한 ... 그 하나의 "s"를
— 빼면

1
@Dason 나는 이제 두 번째 것을 억제하는 것이 심지어 비명을 지르고 있음을 알고 있습니다 : 부분 일치가 올바른 것으로 가정하지만 그렇지 않습니다.
— plannapus

이것은 게임의 끝입니다 .이 위에있는 의견으로 자신을 평가하십시오. 콘텐츠를 편집하고 추가 좋은 대답은 수 좋은 답변의 수 대부분 같은 일, 응답 한 사람들이 총 답변하고 점수를 . 주석 옆 의 2 는 3 개의 답변을 의미한다는 것을 잊지 마십시오 . 이 아래에 자유롭게 의견을 말하십시오.
— SteeveDroz

100 %! 축하합니다!
— redtuna

2

Tcl

우고 렌에서 영감을 얻은

foreach c [split [lindex $argv 0] {}] {
    # Don't print the invalid chars & and \
    if {$c in "& \\"} {continue}
    puts -nonewline $c
}

문자열 예를 잊어 버렸습니다. 좋아, 다음으로 실행

./charfilter.tcl '안녕하세요, 세상에!'

올바른 솔루션 편집 : 전혀 필터링하지 않습니다. ( 6x )
최대 오답 : 4x
총 답변 : 10
점수 : -0.2


5
그냥 인수를 인쇄하고 실제로 필터링하지 않습니다.
— marinus

3
그것은없이 인수를 인쇄 " ", "&", "\".
— 파스칼 헤인

이것은 게임의 끝입니다 .이 위에있는 의견으로 자신을 평가하십시오. 콘텐츠를 편집하고 추가 좋은 대답은 수 좋은 답변의 수 대부분 같은 일, 응답 한 사람들이 총 답변하고 점수를 . 주석 옆 의 2 는 3 개의 답변을 의미한다는 것을 잊지 마십시오 . 이 아래에 자유롭게 의견을 말하십시오.
— SteeveDroz
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.