소파 2048 : 2048 년까지 얼마나 더?


20

Couch 2048 이라는 게임을 방금 시도했습니다 .
(참고 :이 질문을 더 잘 이해하기 위해 살펴 봐야합니다.)
나에게는 그다지 흥미롭지 않았기 때문에 나는 '2048 년까지 얼마나 많은가!'
생각보다 쉽지 않기 때문에 도전 과제를 게시했습니다.

당신의 목표 :
소파에있는 공의 목록이 주어지면, 2 개의 값을 가진 공이 하늘에서 떨어지면 얼마나 많은 공을 출력해야 게임에서 이길 수 있습니다 (2048 공에 도달).

  • 입력이 유효하다고 가정하십시오.
  • 플레이어가 공을 떨어 뜨리지 않는다고 가정하십시오.
  • 내가 말했듯이 하늘에서 떨어지는 공의 값이 항상 2라고 가정하십시오.
  • 유효한 출력 예 : 3, "4", [5], [ "6"]

편집 :
내가 뭔가를 명확히해야합니다
- 당신은 인쇄 할 수있는 작은 필요한 2S의 양을.

테스트 사례 :
[2048] -> 0 이미 이겼
[1024,1024] -> 0습니다. 더 이상 공을 따를 필요가 없습니다. '체인 활성화'에
[1024,512,256,128,64,32,16,8,4,2] -> 1 필요한 공 1 개
[512] -> 768
[512,2] -> 767
[4,16,64] -> 982

참고 :
나는 원어민이 아닙니다-오타 나 문법이 아닌 텍스트를 발견했는지 알려주십시오.
확실치 않은 사항이 있으면 의견을 물어보십시오.


[4,16,64] -> 22?
l4m2

3
PPCG에 오신 것을 환영합니다. 이 과제는 배열에있는 모든 요소를 ​​더하고 빼고 2048나누는 것 같습니다. 2그렇다면 마지막 테스트 사례를 다시 확인하고 싶을 수도 있습니다. 그렇지 않은 경우 예제로 사용하여 출력이 왜 하지 않습니다 982.
Shaggy

1
바보 같은 실수를 알아 낸 @Shaggy thx

4
Woah, 나는 나의 첫 번째 도전이 첫 시간에 7 개의 답변과 2 개의 투표를 가질 것이라고 생각하지 않았습니다! 그리고 ~ 28 명에 도달했습니다!

2
야, downvoter : 당신의 관점을 설명하십시오! 도전을 개선해야합니다!

답변:



8

Brain-Flak , 72 바이트

({{}})({<({}[()()])>()}{})([{}]((((((((()()()()){}){}){}){}){}){}){}){})

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

({{}})                     # Sum entire stack
      (                  ) # Push:
       {<          >()}{}  #   The number of times you can...
         ({}[()()])        #   Subtract 2 before reaching 0

([{}]                                        ) # Subtract that from...
     ((((((((()()()()){}){}){}){}){}){}){}){}  # 1024

1
고맙습니다! Brain-Flak 학습에 관심이 있으며 설명이 도움이되었습니다.
Galen Ivanov








2

가톨릭 , 5 바이트

-`L̇½Ṗ

설명:

-      subtract
 `L̇    1024
       from
   ½   half of the
    Ṗ  sum [of the input]

1
그게 내가 새로운 골프 언어인가요? :)
ETHproductions

1
새 언어의 경우 +1 배우는 또 다른 방법 </ sigh>
ElPedro





1

perl -aE, 27 바이트

$"=$:;say eval"(2048-@F)/2"

는에서 숫자 (공백으로 구분)가있는 행을 읽고에 STDIN대한 답을 씁니다 STDOUT.

그것이하는 것은 2048에서 입력에서 모든 숫자를 빼고 나머지를 2로 나눕니다. -a스위치는 배열에 @F(요소 당 하나의 숫자) 넣습니다 . 배열을 문자열로 보간하는 경우 (여기서 수행하는 작업) perl은 $"요소 사이에 값을 넣습니다 . 적은 변수 $:가 기본값입니다 \n-; 토큰 사이의 공백은 무시되므로 결과는 2048에서 모든 숫자를 뺍니다 eval. 계산이 수행됩니다.







0

AWK, 26 바이트

{s+=$1}END{print 1024-s/2}

입력 번호는 개행 (예 : 한 줄에 하나씩)으로 구분됩니다.


0

Neim, 6 바이트

Neim을 처음 접했지만 제대로 작동합니다.

𝐬ᚺςᚫᛦ𝕤

설명:

  𝐬         : Sum input
   ᚺ        : Divide by 2 (stack now [input summed and divided by 2])
    ς       : Variable set to 16 pushed to stack
     ᚫ      : Multiply by 2
      ᛦ     : Square (stack now [input summed and divided by 2, 1024])
       𝕤    : Subtract then absolute

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


0

자바, 30 바이트

2048-IntStream.of(a).sum()/2;




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