코드 크로스 워드-솔루션


답변:


8

es1024의 C 퍼즐 솔루션

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

정의되지 않은 동작을 호출하여 7-Down에서 약간의 퍼지가 필요했습니다. es1024는 이러한 UB 사용이 의도 된 솔루션임을 나타냅니다. 그래도 대부분의 사람들의 컴퓨터에서 작동합니다. 내가 같은 원하는 결과를 달성 다양한 표현 해낸 -1 << 30, 3 << 30, 6 << 29, 및 ~(~0U/4)있지만 그들 모두가 불가능 날 5의 맞은 편에 도착 할 수있었습니다. 따라서 왼쪽 시프트의 크기를 결정하는 데 최하위 5 비트 만 사용되는 인텔 아키텍처 별 속성을 사용했습니다. 그것이 될 필요가 있음을주의 ~_하지 ~1그래서 양에 의해 이동하는 것을 컴파일 타임 상수가 아닙니다. 다음 코드를 사용하여 표현식을 테스트했습니다.

#define T(X) _ = c; _ = X; printf("%d\n", _);
z[4] = {9};
int main(c)
{
    int _;

    T("01"[0])
    T(-8)
    T(-2)
    T(11<-328111)
    T(+2+71)
    T(9+0)
    T(0**z)
    T(5;)
    T(0<-000)
    T(2+~3)
    T(!91)
    T(!_)
    T(2**z)
    T('_T;')

    T("11"?5*9:2)
    T(15<<9)
    T(0+22)
    T(-211*0-97;)
    T(-17*0)
    T(3+0<<~_)
    T(8+000)
    T(+0)
    T(42)
    T(+!z)
    T(~_)
}

매크로는 어디에서 왔습니까? M-across를 얻을 수 없어서 솔루션 게시를 피했습니다.
COTO

@COTO "매크로는 어디에서 왔습니까?"라는 질문을 이해하지 못합니다.
feersum

신경 쓰지 마. #define T솔루션에 필요한 구성 요소로 착각했습니다 . 하지만 M-across가 왜 효과가 있습니까? 여러 문자 상수를 정의하면 바이트 값이 연결됩니까? 그렇다면 오늘 새로운 것을 배웠습니다. :)
COTO

@COTO 예, 기본 -256 번호를 만드는 것과 같습니다. 문자 리터럴은 type int이므로 정보 손실없이 최대 4 바이트를 넣을 수 있습니다.
feersum

3
나는 확실히 몰랐다. (아마도 프로덕션 코드에서이 코드를 사용하는 사람은 코드를 관리하는 사람들에 의해 목숨을 잃었을 가능성이 큽니다.) 올바른 코드를 가져 오기위한 소품. :)
COTO

8

professorfish, CJam, 41 어둠

(이 솔루션은 실제로 몇 개의 공간이 필요하므로 교수님이 찾고있는 것이 아닙니다.)

#K###I#'32
#HDJ*s\ ##
2##2#`#`#-
4Zm*`##L#3
m##6##]`' 
f####e#`#'
`#0#'d1+eu
## #!####9
## '{;'"'m
C5(#}####q

정말 재미있었습니다. 있습니다 #아래는 6실제로 코드가 아닌 어두운 세포이다. 이것을 통해 봅시다 :

건너서

힌트 2 : [[4 3]]. 내가 시도 4Z]]`하거나 비슷한 것을 고집했기 때문에 이것은 까다로운 것 중 하나였습니다 . m*배열이 아닌 물건에 Cartesian 제품 을 사용할 수 있으며 배열이 만들어집니다. 그래서 여기 있습니다 :

4Zm*`

힌트 4 : 24717. 그 때까지는 나는이에 도착 H, J, s후행 공간은 이미 그 자리에 있었다. 은 H아마 단지를 재사용 할 수 있음을 멀리 준 17과 할 \말. 는 J를 밀어 19하고 247 == 13 * 19그래서 :

HDJ*s\ 

7 힌트 : 32. 이 작업을 수행하는 방법은 무리가있다 : Y5#, 3 2, ZY, YZ\, 4(2, 2)2, '32. 나는 캐릭터로 시작하는 것이 7 다운으로 유망한 것처럼 보였고 그것이 옳은 것으로 나타났기 때문에 나는 마지막으로 갔다.

힌트 8 : E. 나는 이미 'd거기에 도착했을 때를 가지고 있었기 때문에 'd1+eu, 'deu1+또는 내가 사용했던 변형 )과 공백 대신에 공간을 사용했습니다 1+(CJam이 아닌 사람들에게는 d문자를 가져 와서 순서대로 대소 문자를 구분합니다) . 그러나 u마지막 열에서 A-down에 유용하게 보입니다. 그래서 나는 그중 첫 번째를 선택했습니다. 결국 'd) eu, 역시 효과가 있었을 것입니다.

힌트 9 : "". 글쎄, 이것은 "빈 문자열, 문자열 표현, 공간 밀기"여야했습니다. 그러나 7-down의 문자열 표현에는`가 필요했고 A-down의 공백도 유용 해 보였으므로

]`' 

참고 ]또한 중 하나를되었을 수 있습니다 LMOQR.

힌트 B : "m. 나는 단지 이것과 나머지를 맞출 필요가 있었지만 중요한 캐릭터는 거의 없었습니다. 나는 이미 가지고 {와를 m. 따라서 블록을 사용하는 대신 {문자 로 바꾸어 버린 다음 필요한 두 문자를 밀어 넣었습니다.

 '{;'"'m

힌트 D : 124. 나는 이것을 C-down과 함께 해결했다. 그래서 나는 12, 5를 밀고 후자를 줄입니다.

C5(

내려가는

1 힌트 : [2 2 2 3]. 그것은 하나가되지 않기 때문에 너무나도 의심스러운 것처럼 보입니다. :)

24mf`

힌트 3 : 3010936384. 이것을 고려하면 실제로 38 6 임을 보여줍니다 . 유일한 질문은 382-across를 준수 하는 방법이었습니다 . 결국 나는 *3 위를 필요로 했으므로 두 배가 19되었습니다.

J2*6#

힌트 5 : 2017. 그런 큰 숫자에 대한 두 문자? 내장 두 자리 변수를 사용하십시오.

KH

힌트 6 : "18". 나는 3 자로 이것을 할 수있는 유일한 방법이 있다고 생각합니다. 내장 18을 사용하여 문자열로 변환 한 다음 문자열 표현으로 변환하십시오.

Is`

7 힌트 : ' "\"\"". 아마도 퍼즐의 가장 어려운 부분 일 것입니다. 특히 "\"\""3 자만 입력하면됩니다. 비결은 빈 문자열의 문자열 표현을 두 번 얻는 것입니다. 그 결과는 다음과 같습니다.

' `L``+

+필요하지 않지만 8에서 필요로했다.

힌트 8 : !{}. 블록은 코드에 들어가야했기 때문에에 대한 두 문자 만 남았습니다 !.

'!{}

힌트 A : -3u3. 와 u, 내가 넣어 시작 8 전역에서 장소 -33다른 힌트가 그들에 대해 신경 쓰지 모서리한다. 그러나 나는 m바닥에 필요했습니다 . 3와 함께하는 여러 가지 방법이 있다고 생각 _m_하지만 가장 간단한 방법은 9의 제곱근을 취하는 것입니다.

-3 'u9mq

힌트 C : -1. 나는 이미 감소를 보였으므로 0다른 사람이 신경 쓰지 않는 곳에 두었습니다 .

0  (

힌트 E : Stack: "". 가장 간단한 것이 었습니다. 디버거를 호출하십시오.

ed

Calvin 's Hobbies가 말했습니다 . 대답은 유효합니다. 내 게시물로 편집하겠습니다

7

COTO, 자바 스크립트 ES4, 37 개의 암흑

 __________
|{}=51###6#|
|a##.#I-9<4|
|:##-##"#<#|
|5+Math.PI#|
|}##+##.#+#|
|["9"+0][0]|
|'##p##"###|
|a+-a#a=-10|
|'##c##=###|
|]##"\x48I"|
 ¯¯¯¯¯¯¯¯¯¯
  • 6은 5+Math.PI또는이다 Math.PI+5; 그러나 후자는 'M'과 'h'가 다른 표현으로 넘어갈 가능성이 거의 없었습니다.
  • A는 문자열이어야했다. 중간에 4가 있으면 탈출처럼 보였고, 그 방을 가진 유일한 방법은입니다 "\x48I".
  • 2는 이제 문자열로 끝나므로 숫자에 "pac"가 추가 될 수 있습니다. 우리는 다시 돌아올 것입니다.
  • 8 ac는 이제 xxxa0으로 평가되므로 -a + a? a + -a? 3 +-? a+-a1dn에서 문자열의 문자처럼 보이는 것이 나에게 가장 좋았습니다.
  • 1은 아래에 포함되어 {x:5}xxa'x있습니다. 반환 된 값은 5이므로 객체에서 가져와야하므로 {x:5}['a']최종 누락 문자도 다음과 같습니다.{a:5}['a']
  • 이제 1은 시작에 {가 있습니다. 나는 이것이 빨간 청어 과제라고 생각하고 시도 t={}=51했으며 효과가있었습니다. 몰랐어요!
  • 2 아래는 이제 5xxax"pac"=> "2pac"입니다. 이이어야 5-a+"pac"두 번째 문자가 있어야한다, 그래서 어떻게 든, '.' 부동 소수점 리터럴.
  • 7 ac는 이제 [xx"xxxx]"90"을 반환합니다. 따라서 이것은 값을 빼낸 배열 리터럴이어야합니다. 하나의 가치를위한 여지가 있으므로 우리는 가지고 있습니다 [xx"xx][0]. 거기에 두 개의 줄을 넣을 공간이 없지만 맞 "9"+0거나 9+"0"맞습니다.
  • 3dn; 3072는 3 * 1024이며; 2의 거듭 제곱은 의심스럽고 이미 1eX와 같이 많은 수를 얻는 다른 방법을 차단하는 'I'를 가지고 있습니다. 그래서 추측 된 비트 시프트; 6<<I답으로 밝혀졌고 끝에 +0을 남겨 두었습니다.
  • 4 ac는 이제 비교 연산자를 포함했다; 두 번째 문자는 유효한 단항 연산자 여야합니다 ( 't ='와 'I'모두 뒤에 맞음). '-'나는 짐작하고 왼쪽으로 몇 가지 해결책이있다 ( I-I<4, I-6<4, 등)
  • 5 DN이 포함되었습니다 -x..]xxx4. ".."가 저를 던졌습니다. 합법적 인 구문이 될 수있는 몇 가지 방법이 있으며 ES4가 의도 한 것인지 묻습니다. 이것이 버려진 사양의 이상한 특징입니까? 그러나 나는 이것이 붉은 청어 인 것을 보았다. -""NaN입니다. 따라서 NaN과 -"..]"xx4비교하여 false를 반환해야합니다. '=='는 할 것이지만 확인을 위해 마지막 대답을 봐야합니다 ...
  • 9ac는 몇 가지 가능한 해결책을 가지고 있었지만 5dn에 허용되는 문자 제한으로 인해 이것은 또 다른 붉은 청어 과제라고 생각하게 만들었습니다. 뭔가 =-10. 솔직히 나는 이전 버전의 9dn을 보았고, 그것이 =topWindow를 되 찾을 수 있음을 깨달았습니다 . 할당 된 변수는 a 또는 I 일 수 있으며 중요하지 않습니다.

까다로운 퍼즐!


4

grc의 파이썬 퍼즐

grc 크로스 워드 솔루션

모든 긴 부동 소수점 식에 대해 강제로 파이썬 수학 식을 생성하고 평가하는 C ++ 프로그램을 만들었습니다. 모든 숫자가 부동 소수점이고 +,-, *, /, //, ** 및 ~ 연산자 만 지원한다고 가정합니다. a**9*27%b해시를 제외 하고 5자를 초과하는 모든 단서를 얻는 데 사용했습니다 . 6 개 이하의 블랭크를 사용하면 몇 초 내에 완료되고 7 분 동안 약간의 대기가 있습니다.


3

COTO의 MATLAB 퍼즐 솔루션

나는 14 공간이 있기 때문에 나는 이것을 잘 골랐다.

솔루션 그리드

이 테스트 스크립트는

g=4;
o=magic(3);
D=@disp;

D(max([  2]));
D( i^3);
D(o^0);
D(6 -7+eye  );
D((i));
D(.1  ^5* g );
D(~2);
D(diag(~o)  );

D(asin (1)*i);
D((93+7) +~g);
D(  10e15);
D(2*ones (2));
D(02 ^  9 );
D(-i );
D(~o);

다음과 같은 출력을 생성합니다.

     2

        0 - 1.0000i

     1     0     0
     0     1     0
     0     0     1

     0

        0 + 1.0000i

   4.0000e-05

     0

     0
     0
     0

        0 + 1.5708i

   100

   1.0000e+16

     2     2
     2     2

   512

        0 - 1.0000i

     0     0     0
     0     0     0
     0     0     0

좋은 쇼. 내가 예상하지 못한 몇 가지 공간이 있지만 열쇠에는 꽤 많은 공간이 있습니다. 지금 게시하겠습니다. ;)
COTO
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.