21 문자로 "승리하기 위해 승리하기"에 대한 전체 과제를 해결하는 방법


13

Javascript 프로그래머를위한 흥미로운 작업 이있는 "Return True to Win" 이라는 사이트가 있습니다 . 목표는 주어진 함수에 대해 인수가 true를 리턴하도록하는 인수를 찾는 것입니다.

다음은 작업 중 하나입니다.

function total(x) {
  return (x < x) && (x == x) && (x > x);
}

사용자는 x함수 값이 true를 리턴하는 스 니펫 값을 찾아야 합니다. 스 니펫을 테스트하려면 스 니펫을 매개 변수 (예 :)로 사용하여 함수를 호출합니다 total(<snippet>).

22 자 솔루션을 찾았습니다.

{valueOf:_=>n++%3},n=0

어떤 사람들은 21 자로 해결책을 찾았습니다. 이 솔루션을 찾을 수 없습니다. 21 문자로 해결책은 무엇입니까?


3
작업을 수행 한 컨테스트 / 페이지를 연결해야합니다.
Emigna


2
{valueOf:Math.random}때때로 작동하지만 ... 규칙을
어기

1
그것들은 결정적으로 까다 롭습니다. 처음 24 개 중 14 개만 대답 할 수 있습니다.
Neil

4
Salty dev note ...“total”이라는 함수를 반환하는 부울은 칠판의 손톱과 같습니다!
scunliffe

답변:


7

21 자

{valueOf:n=_=>n=2<<n}

내 원래의 농담은 삭제되고 삭제를 제안했습니다.

11 자 :)

total=_=>!0

테스트:

function total(x) {
  return (x < x) && (x == x) && (x > x);
}
var arg = total=_=>!0
console.log(total(arg))

3
좋은 작업 상자 밖에서 생각하지만, 문제는 완료하는 것입니다 function total(x) { ... } total(<insert here>)와의 결과가 total()호출 될 true나는이 작동합니다 생각하지 않도록 ...,
ETHproductions

@ETHproductions- <insert here>> 0),(true:)
ngn

그것을 시도하고 또한 0)||(true. 어느 쪽도 작동하지 않으며, 지금 당신이해야 할 일 0);(!0이나 비슷한 수준이 있기 때문에 혼란스러워 합니다.
ETHproductions

당신의 새로운 솔루션은 놀랍습니다.
ETHproductions

4

치타 답변

나는 주석에서 이미 언급했지만 테스트되지 않았습니다. 지금이야. 작동 할 때까지 계속 제출해야합니다.

{valueOf:Math.random}

데모

function total(x) {
  return (x < x) && (x == x) && (x > x);
}

for(i = 1; !total({valueOf:Math.random}); i++);

console.log('Returned true after ' + i + ' iteration(s)')


이것이 어떻게 작동하는지 더 자세히 설명해 주시겠습니까? x == x매번 x가 무작위로 선택되면 어떻게 사실인지 이해할 수 없습니다 .
tsh

1
@tsh 트릭은 valueOf평등 테스트가 처리 될 때 호출되지 않습니다. 반면에 비교 연산자는 프리미티브 값을 기대하며,이를 강제 valueOf로 호출해야합니다. 이를 보여주는 테스트 가 있습니다.
Arnauld

<s> 15 </ s> 16 반복으로 높은 점수를 받았습니다 !!!
Magic Octopus Urn

@MagicOctopusUrn 자, 그보다 더 잘 할 수 있습니다! 동전을 넣고 다시 재생하십시오!
Arnauld
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.