Code Crosswords - Solusi

Jawaban:

8

Solusi untuk es1024's C puzzle

masukkan deskripsi gambar di sini

Saya harus sedikit fudge tentang 7-Down dengan menerapkan perilaku yang tidak terdefinisi. es1024 telah mengindikasikan bahwa penggunaan UB ini adalah solusi yang dimaksudkan. Ini akan bekerja pada komputer kebanyakan orang. Saya datang dengan berbagai ekspresi mencapai hasil yang diinginkan seperti -1 << 30, 3 << 30, 6 << 29, dan ~(~0U/4)tapi semua dari mereka membuat mustahil bagi saya untuk mendapatkan 5-Di. Jadi saya menggunakan properti arsitektur khusus Intel yang hanya 5 bit paling signifikan digunakan untuk menentukan ukuran shift kiri. Perhatikan bahwa itu perlu ~_dan bukan ~1agar jumlah yang digeser bukan konstanta waktu kompilasi. Saya menguji ekspresi dengan kode berikut:

#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(~_)
}
feersum
sumber
Dari mana asal makro? Saya menghindari memposting solusi karena saya tidak bisa mendapatkan M-lintas.
COTO
@COTO Saya tidak mengerti pertanyaan Anda, "Dari mana asal makro?"
feersum
Sudahlah. Saya salah mengira #define Tsebagai komponen yang diperlukan untuk solusi Anda. Namun, pertanyaannya tetap, mengapa M-lintas bekerja? Apakah mendefinisikan konstanta multi-karakter hanya menyatukan nilai byte? Jika demikian, saya belajar sesuatu yang baru hari ini. :)
COTO
@COTO Ya, itu seperti membuat nomor basis-256. Literal karakter memiliki tipe int, sehingga Anda dapat memasukkan hingga empat byte tanpa kehilangan informasi.
feersum
3
Saya pasti tidak tahu itu. (Kemungkinan besar karena siapa pun yang menggunakannya dalam kode produksi telah dicekik sampai mati oleh orang yang bertanggung jawab untuk menjaga kode mereka.) Alat peraga untuk memperbaikinya. :)
COTO
8

professorfish, CJam, 41 darks

(Solusi ini sebenarnya membutuhkan beberapa ruang, jadi bukan yang dicari professorfish.)

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

Itu sangat menyenangkan. Perhatikan bahwa di #bawahnya 6sebenarnya kode dan bukan sel gelap. Mari kita lalui ini:

Di seberang

Petunjuk 2: [[4 3]]. Ini adalah salah satu yang lebih sulit, karena saya benar-benar terjebak dalam mencoba 4Z]]`atau serupa. Ternyata Anda bisa menggunakan produk Cartesian m*pada barang-barang yang bukan array, dan itu akan membuat array untuk Anda. Jadi begini:

4Zm*`

Petunjuk 4: 24717. Pada saat aku sampai ini, H, J, sdan trailing ruang sudah di tempat. The Hmenyerahkan bahwa saya mungkin bisa saja menggunakan kembali 17dan melakukan \di akhir. The Jmendorong sebuah 19dan 247 == 13 * 19, sehingga:

HDJ*s\ 

Petunjuk 7: 32. Ada banyak cara untuk melakukan hal ini: Y5#, 3 2, ZY, YZ\, 4(2, 2)2, '32. Saya pergi dengan yang terakhir, karena memulai dengan karakter sepertinya menjanjikan untuk 7-down, dan itu ternyata benar.

Petunjuk 8: E. Saya sudah punya 'dketika saya sampai di sana, jadi itu antara memilih 'd1+eu, 'deu1+atau varian di mana saya menggunakan )dan ruang bukan 1+(untuk orang-orang non-CJam, ini mengambil dkarakter dan kenaikan dan casing atas, dalam urutan apa pun) . Namun, upada kolom terakhir terlihat berguna untuk A-down. Jadi saya memilih yang pertama. Pada akhirnya, 'd) euakan berhasil juga.

Petunjuk 9: "". Nah, ini harus menjadi "string kosong, dapatkan representasi string, dorong spasi". Tetapi juga membutuhkan `untuk representasi string dalam 7-down, dan ruang di A-down tampaknya berguna juga, jadi saya memilih

]`' 

Perhatikan bahwa ]mungkin juga salah satunya LMOQR.

Petunjuk B: "m. Aku benar-benar harus menyesuaikan yang ini dengan yang lain, tetapi ada beberapa karakter yang penting. Saya sudah punya {dan m. Jadi alih-alih menggunakan blok, saya berubah {menjadi karakter, membuangnya, dan kemudian mendorong dua karakter yang diperlukan:

 '{;'"'m

Petunjuk D: 124. Saya memecahkan yang ini bersama-sama dengan C-down, yang paling mudah dengan penurunan pada akhirnya. Jadi saya mendorong 12, 5, dan mengurangi yang terakhir:

C5(

Turun

Petunjuk 1: [2 2 2 3]. Itu tampak terlalu mencurigakan seperti faktorisasi utama sehingga tidak bisa dijadikan faktor. :)

24mf`

Petunjuk 3: 3010936384. Anjak piutang ini menunjukkan bahwa sebenarnya 38 6 . Satu-satunya pertanyaan adalah bagaimana mendapatkan 38kepatuhan dengan 2-lintas. Pada akhirnya saya membutuhkan sebuah *di tempat ketiga, jadi menggandakan 19itu adalah:

J2*6#

Petunjuk 5: 2017. Dua karakter untuk jumlah yang begitu besar? Cukup gunakan variabel dua digit bawaan:

KH

Petunjuk 6: "18". Saya pikir hanya ada satu cara untuk melakukan ini dalam 3 karakter. Gunakan bawaan 18, konversikan menjadi string, dan kemudian ke representasi stringnya.

Is`

Petunjuk 7: ' "\"\"". Mungkin bagian tersulit dari teka-teki. Secara khusus, saya hanya perlu mendapatkan "\"\""dalam tiga karakter. Caranya adalah dengan mendapatkan representasi string dari string kosong dua kali. Itu menyebabkan:

' `L``+

THe +tidak perlu, tetapi dibutuhkan oleh 8-di.

Petunjuk 8: !{}. Blok perlu masuk dalam kode, sehingga hanya menyisakan dua karakter !, yang berarti menggunakan literal lain:

'!{}

Petunjuk A: -3u3. Dengan udi tempat dari 8-seberang, saya mulai menempatkan -3dan 3di sudut-sudut di mana tidak ada petunjuk lain yang peduli tentang mereka. Tapi kemudian saya membutuhkan mdi bagian bawah. Saya pikir ada beberapa cara untuk mendapatkan 3dengan _m_, tetapi paling sederhana yang mengambil akar kuadrat dari 9:

-3 'u9mq

Petunjuk C: -1. Saya sudah memiliki decrement di sana, jadi saya hanya menempatkan di 0mana tidak ada orang lain yang peduli:

0  (

Petunjuk E: Stack: "". Ya itu yang paling sederhana. Panggil saja debugger:

ed
Martin Ender
sumber
Hobi Calvin telah berbicara , jawabannya valid. Saya akan mengeditnya di posting saya
7

COTO, Javascript ES4, 37 Darks

 __________
|{}=51###6#|
|a##.#I-9<4|
|:##-##"#<#|
|5+Math.PI#|
|}##+##.#+#|
|["9"+0][0]|
|'##p##"###|
|a+-a#a=-10|
|'##c##=###|
|]##"\x48I"|
 ¯¯¯¯¯¯¯¯¯¯
  • 6 melintasi adalah 5+Math.PIatau Math.PI+5; tetapi yang terakhir akan meninggalkan 'M' dan 'h' menyeberang ke ekspresi lain, sepertinya tidak mungkin.
  • Persilangan harus berupa tali; dengan 4 di tengahnya tampak seperti pelarian, satu-satunya cara Anda memiliki ruang untuk itu adalah dengan "\x48I".
  • 2 turun sekarang berakhir dalam string, jadi mungkin "pac" ditambahkan ke nomor; kami akan kembali ke sana.
  • 8 ac sekarang xxxa, mengevaluasi ke nol, jadi -a + a? a + -a? 3 + -a? a+-atampak terbaik karena memberi saya apa yang tampak seperti arang di string di 1dn.
  • 1 down berisi: 5, yang hanya bisa tata bahasa hukum di {x:5}xxa'x. Karena nilai yang dikembalikan adalah 5, itu harus menariknya keluar dari objek, jadi {x:5}['a'], yang berarti karakter yang hilang juga adalah:{a:5}['a']
  • 1 seberang sekarang memiliki {pada awalnya. Saya kira ini adalah tugas ikan haring merah, mencoba t={}=51, dan berhasil. Tidak tahu itu!
  • 2 down sekarang memiliki 5xxax"pac"=> "2pac". Ini pasti 5-a+"pac", entah bagaimana, jadi char kedua harus '.' untuk literal floating point.
  • 7 ac sekarang [xx"xxxx], mengembalikan "90". Jadi ini harus berupa array literal dengan nilai ditarik keluar; hanya ada ruang untuk satu nilai jadi kami punya [xx"xx][0]. Tidak ada ruang untuk dua string di sana, tetapi baik "9"+0atau 9+"0"pas.
  • 3 dn; 3072 adalah 3 * 1024; kekuatan 2 mencurigakan, dan saya sudah memiliki 'I' di sana memblokir cara lain untuk mendapatkan angka besar (seperti 1eX). Jadi, tebak bithift; 6<<Iternyata jawabannya, meninggalkan +0 untuk menambahkan hingga akhir.
  • 4 ac sekarang berisi operator perbandingan; dan karakter kedua harus menjadi operator unary yang valid (untuk menyesuaikan setelah 't =' dan 'I'). Saya menduga '-', dan ada beberapa solusi yang mungkin meninggalkan ( I-I<4, I-6<4, dll)
  • 5 dn sekarang terkandung -x..]xxx4. ".." melempar saya - hanya ada beberapa cara yang bisa menjadi sintaks hukum dan mengapa saya bertanya apakah ES4 yang dimaksudkan - apakah ini fitur aneh dari spec yang ditinggalkan itu? Tetapi kemudian saya melihat bahwa ini adalah herring merah; -""adalah NaN, jadi -"..]"xx4pasti ada apa - perbandingan dengan NaN, menghasilkan false; '==' akan dilakukan, tetapi perlu melihat jawaban terakhir untuk konfirmasi ...
  • 9ac memiliki beberapa solusi yang mungkin, tetapi pembatasan pada karakter yang akan diizinkan untuk 5dn membuat saya berpikir ini adalah tugas red herring yang lain; sesuatu =-10. Sejujurnya saya juga melihat versi 9dn sebelumnya, dan menyadari bahwa itu pasti sesuatu =top(untuk mendapatkan Window kembali). Variabel yang ditugaskan untuk bisa menjadi atau saya, tidak masalah.

Tricky puzzle!

bazzargh
sumber
4

Teka-teki Python grc

solusi teka-teki silang grc

Untuk semua ekspresi floating-point yang panjang, saya membuat program C ++ untuk menghasilkan ekspresi matematika Python secara paksa dan mengevaluasinya. Ini mengasumsikan semua angka adalah floating-point dan hanya mendukung operator +, -, *, /, //, **, dan ~. Saya menggunakannya untuk mendapatkan setiap petunjuk lebih dari 5 karakter kecuali a**9*27%bdan hash. Dengan 6 atau kurang kosong, selesai dalam beberapa detik, sementara ada sedikit menunggu 7.

feersum
sumber
3

Solusi untuk teka-teki MATLAB COTO

Saya kira saya bermain golf ini dengan cukup baik, karena ada 14 ruang.

kisi solusi

Skrip tes ini:

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

menghasilkan output berikut:

     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
feersum
sumber
Pertunjukan yang bagus. Beberapa ruang yang tidak saya harapkan, tetapi ada juga beberapa di kuncinya. Saya akan memposting itu sekarang. ;)
COTO