Mật mã - Giải pháp


Câu trả lời:


8

Giải pháp cho câu đố C của es1024

nhập mô tả hình ảnh ở đây

Tôi đã phải làm mờ một chút trên 7-Down bằng cách gọi hành vi không xác định. es1024 đã chỉ ra rằng việc sử dụng UB này là giải pháp dự định. Nó sẽ hoạt động trên hầu hết các máy tính của mọi người. Tôi đã đưa ra với các biểu thức khác nhau để đạt được kết quả mong muốn như -1 << 30, 3 << 30, 6 << 29, và ~(~0U/4)nhưng tất cả trong số họ đã làm cho nó không thể cho tôi để có được 5 Across. Vì vậy, tôi đã sử dụng thuộc tính đặc trưng cho kiến ​​trúc Intel, chỉ sử dụng 5 bit quan trọng nhất để xác định kích thước của dịch chuyển trái. Lưu ý rằng nó cần phải ~_và không ~1để số lượng thay đổi không phải là hằng số thời gian biên dịch. Tôi đã kiểm tra các biểu thức với mã sau đây:

#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(~_)
}

Trường hợp vĩ mô đến từ đâu? Tôi tránh đăng bài giải pháp vì tôi không thể có được M.
COTO

@COTO Tôi không hiểu câu hỏi của bạn, "Macro đến từ đâu?"
frageum

Đừng bận tâm. Tôi nhầm tưởng #define Tlà một thành phần cần thiết cho giải pháp của bạn. Câu hỏi vẫn còn, mặc dù, tại sao M-ngang làm việc? Có phải việc xác định hằng số nhiều ký tự chỉ nối các giá trị byte không? Nếu vậy, tôi đã học được một cái gì đó mới ngày hôm nay. :)
COTO

@COTO Vâng, nó giống như tạo một số cơ sở 256. Chữ ký tự có loại int, vì vậy bạn có thể đặt tối đa bốn byte mà không mất thông tin.
frageum

3
Tôi chắc chắn đã không biết điều đó. (Rất có thể bởi vì bất kỳ ai sử dụng nó trong mã sản xuất đều bị những người chịu trách nhiệm duy trì mã của họ siết cổ đến chết.) Đạo cụ để làm cho đúng. :)
COTO

8

giáo sư, CJam, 41 bóng tối

(Giải pháp này thực sự đòi hỏi một số không gian, vì vậy đó không phải là một giáo sư đang tìm kiếm.)

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

Đó là niềm vui lớn. Lưu ý rằng #bên dưới 6thực sự là mã và không phải là một ô tối. Chúng ta hãy đi qua điều này:

Băng qua

Gợi ý 2 : [[4 3]]. Đây là một trong những cái khó hơn, bởi vì tôi thực sự bị mắc kẹt khi thử 4Z]]`hoặc tương tự. Hóa ra bạn có thể sử dụng sản phẩm của Cartesian m*cho những thứ không phải là một mảng và nó sẽ tạo ra một mảng cho bạn. Vì vậy, đây là:

4Zm*`

Gợi ý 4 : 24717. Do thời gian tôi đã vào đó, các H, J, svà dấu không gian đều đã tại chỗ. Sự Hcho đi mà tôi có thể chỉ cần sử dụng lại 17và làm \vào cuối. Các Jđẩy a 19247 == 13 * 19, vì vậy:

HDJ*s\ 

Gợi ý 7 : 32. Có một loạt các cách để làm điều này: Y5#, 3 2, ZY, YZ\, 4(2, 2)2, '32. Tôi đã đi với người cuối cùng, bởi vì bắt đầu với một nhân vật có vẻ hứa hẹn cho 7 người trở xuống, và điều đó hóa ra là đúng.

Gợi ý 8 : E. Tôi đã có 'dkhi tôi đến đó, vì vậy đó là giữa việc lựa chọn 'd1+eu, 'deu1+hoặc một biến thể mà tôi đã sử dụng )và một không gian thay vì 1+(đối với những người không phải là CJam, việc này lấy dnhân vật và tăng dần và đặt nó lên trên, theo thứ tự) . Tuy nhiên, utrong cột cuối cùng có vẻ hữu ích cho A-down. Vì vậy, tôi đã chọn đầu tiên trong số đó. Cuối cùng, 'd) eucũng sẽ làm việc.

Gợi ý 9 : "". Chà, đây phải là "chuỗi rỗng, lấy đại diện chuỗi, đẩy một khoảng trắng". Nhưng cũng cần `biểu diễn chuỗi trong 7 xuống và một khoảng trắng trong A-down cũng có vẻ hữu ích, vì vậy tôi đã chọn

]`' 

Lưu ý rằng ]cũng có thể là một trong LMOQR.

Gợi ý B : "m. Tôi thực sự phải phù hợp với phần này với phần còn lại, nhưng có vài nhân vật quan trọng. Tôi đã có {m. Vì vậy, thay vì sử dụng một khối, tôi biến {thành một ký tự, loại bỏ nó và sau đó đẩy hai ký tự được yêu cầu:

 '{;'"'m

Gợi ý D : 124. Tôi đã giải quyết vấn đề này cùng với C-down, dễ nhất với phần giảm dần ở cuối. Vì vậy, tôi đẩy 12, 5 và giảm sau:

C5(

Xuống

Gợi ý 1 : [2 2 2 3]. Điều đó trông quá đáng ngờ giống như một nhân tố chính cho nó không phải là một. :)

24mf`

Gợi ý 3 : 3010936384. Bao thanh toán này cho thấy rằng nó thực sự 38 6 . Câu hỏi duy nhất là làm thế nào để có được sự 38tuân thủ 2 chiều. Cuối cùng, tôi cần một *vị trí thứ ba, vì vậy nhân đôi 19nó là:

J2*6#

Gợi ý 5 : 2017. Hai nhân vật cho một số lượng lớn như vậy? Chỉ cần sử dụng các biến có hai chữ số tích hợp:

KH

Gợi ý 6 : "18". Tôi nghĩ rằng chỉ có một cách duy nhất để làm điều này trong 3 ký tự. Sử dụng 18 tích hợp, chuyển đổi nó thành một chuỗi và sau đó thành biểu diễn chuỗi của nó.

Is`

Gợi ý 7 : ' "\"\"". Có lẽ là phần khó nhất của câu đố. Đặc biệt, tôi chỉ cần "\"\""có ba nhân vật. Bí quyết là lấy đại diện chuỗi của chuỗi rỗng hai lần. Điều đó dẩn đến:

' `L``+

Điều đó +không cần thiết, nhưng được 8-ngang cần.

Gợi ý 8 : !{}. Khối cần phải đi vào mã, do đó chỉ còn lại hai ký tự !, có nghĩa là sử dụng một nghĩa đen khác:

'!{}

Gợi ý A : -3u3. Với uvị trí từ 8 ngang, tôi bắt đầu đặt -33ở những góc mà không có gợi ý nào khác quan tâm đến họ. Nhưng sau đó tôi cần một cái mở phía dưới. Tôi nghĩ rằng có nhiều cách để có được một 3bằng _m_, nhưng đơn giản nhất là lấy căn bậc hai của 9:

-3 'u9mq

Gợi ý C : -1. Tôi đã có sự suy giảm ở đó, vì vậy tôi chỉ đặt một 0nơi mà không ai quan tâm:

0  (

Gợi ý E : Stack: "". Vâng, đó là cách đơn giản nhất. Chỉ cần gọi trình gỡ lỗi:

ed

Sở thích của Calvin đã lên tiếng , câu trả lời là hợp lệ. Tôi sẽ chỉnh sửa nó vào bài viết của mình

7

COTO, Javascript ES4, 37 bóng tối

 __________
|{}=51###6#|
|a##.#I-9<4|
|:##-##"#<#|
|5+Math.PI#|
|}##+##.#+#|
|["9"+0][0]|
|'##p##"###|
|a+-a#a=-10|
|'##c##=###|
|]##"\x48I"|
 ¯¯¯¯¯¯¯¯¯¯
  • 6 ngang là 5+Math.PIhoặc Math.PI+5; nhưng cái sau sẽ để lại 'M' và 'h' chuyển sang các biểu thức khác, dường như không thể.
  • Một bên phải là một chuỗi; với 4 ở giữa, nó trông giống như một lối thoát, cách duy nhất bạn có chỗ cho điều đó là với "\x48I".
  • 2 xuống bây giờ kết thúc trong một chuỗi, vì vậy có lẽ là "pac" được gắn vào một số; chúng ta sẽ trở lại với điều đó
  • Bây giờ là 8 ac xxxa, đánh giá bằng 0, vậy -a + a? a + -a? 3 + -a? a+-anhìn tốt nhất vì nó đã cho tôi thứ trông giống như một char trong chuỗi trong 1d.
  • 1 xuống chứa: 5, chỉ có thể là ngữ pháp hợp pháp {x:5}xxa'x. Vì giá trị được trả về là 5, nên nó phải kéo nó ra khỏi đối tượng, do đó {x:5}['a'], điều đó có nghĩa là ký tự bị thiếu cuối cùng cũng là:{a:5}['a']
  • 1 trên bây giờ có {lúc bắt đầu. Tôi đoán đây là một nhiệm vụ cá trích đỏ, đã thử t={}=51, và nó đã hoạt động. Không biết rằng!
  • 2 xuống bây giờ có 5xxax"pac"=> "2pac". Điều này phải là 5-a+"pac", bằng cách nào đó, vì vậy char thứ hai phải là '.' cho dấu phẩy động theo nghĩa đen.
  • 7 ac bây giờ [xx"xxxx], trả về "90". Vì vậy, đây phải là một mảng bằng chữ với giá trị được rút ra; chúng ta chỉ có chỗ cho một giá trị [xx"xx][0]. Không có chỗ cho hai chuỗi trong đó, nhưng một trong hai "9"+0hoặc 9+"0"phù hợp.
  • 3 dn; 3072 là 3 * 1024; sức mạnh của 2 là đáng ngờ và tôi đã có 'Tôi' trong đó chặn các cách khác để có được số lượng lớn (như 1eX). Vì vậy, đoán bithift; 6<<Ihóa ra là câu trả lời, để lại +0 để thêm vào cuối.
  • 4 ac bây giờ chứa một toán tử so sánh; và char thứ hai phải là toán tử đơn nguyên hợp lệ (để khớp sau cả 't =' và 'I'). Tôi đoán '-', và có một số giải pháp có thể để lại ( I-I<4, I-6<4, vv)
  • 5 dn hiện có -x..]xxx4. ".." đã ném tôi - chỉ có một vài cách có thể là cú pháp hợp pháp và là lý do tại sao tôi hỏi liệu ES4 có phải là mục đích không - đây có phải là một tính năng kỳ lạ của thông số bị bỏ rơi đó không? Nhưng sau đó tôi thấy rằng đây là một con cá trích đỏ; -""là NaN, vì vậy -"..]"xx4phải là những gì ở đó - so sánh với NaN, trả về sai; '==' sẽ làm, nhưng cần xem câu trả lời cuối cùng để xác nhận ...
  • 9ac có một số giải pháp khả thi, nhưng việc hạn chế các ký tự được phép cho 5d khiến tôi nghĩ rằng đây vẫn là một nhiệm vụ cá trích đỏ khác; một cái gì đó =-10. Thành thật mà nói, tôi cũng đã xem xét phiên bản 9DN trước đó và nhận ra rằng đó phải là một cái gì đó =top(để lấy lại một Cửa sổ). Biến được gán cho có thể là một hoặc tôi, nó không thành vấn đề.

Câu đố khó!


4

câu đố Python của grc

giải pháp ô chữ grc

Đối với tất cả các biểu thức dấu phẩy động dài, tôi đã tạo một chương trình C ++ để tạo các biểu thức toán học Python bằng lực và đánh giá chúng. Nó giả sử tất cả các số là dấu phẩy động và chỉ hỗ trợ các toán tử +, -, *, /, //, ** và ~. Tôi đã sử dụng nó để có được mọi đầu mối dài hơn 5 ký tự ngoại trừ a**9*27%bvà hàm băm. Với 6 khoảng trống hoặc ít hơn, nó sẽ hoàn thành trong vài giây, trong khi có một chút chờ đợi trong 7.


3

Giải pháp cho câu đố MATLAB của COTO

Tôi đoán rằng tôi đã chơi golf này khá tốt, vì có 14 không gian.

lưới giải pháp

Kịch bản thử nghiệm này:

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);

tạo ra đầu ra sau:

     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

Chương trinh hay. Một vài khoảng trống tôi không mong đợi, nhưng cũng có một vài khoảng trống trong khóa. Tôi sẽ đăng nó ngay bây giờ. ;)
COTO
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.