Cruciverba di codice - Soluzioni


Risposte:


8

Soluzione al puzzle C di es1024

inserisci qui la descrizione dell'immagine

Ho dovuto fare un po 'di confusione su 7-Down invocando un comportamento indefinito. es1024 ha indicato che questo uso di UB era la soluzione prevista. Funzionerà comunque sui computer della maggior parte delle persone. Sono venuto con varie espressioni raggiungere il risultato desiderato, come -1 << 30, 3 << 30, 6 << 29, e ~(~0U/4)ma tutti loro ha reso impossibile per me per ottenere 5-Across. Quindi ho usato la proprietà specifica dell'architettura Intel che solo i 5 bit meno significativi vengono utilizzati per determinare la dimensione di uno spostamento a sinistra. Si noti che deve essere ~_e non in ~1modo che l'importo da spostare non sia una costante di compilazione. Ho testato le espressioni con il seguente codice:

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

Da dove viene la macro? Ho evitato di pubblicare la soluzione perché non riuscivo a ottenere M-across.
COTO

@COTO Non capisco la tua domanda "Da dove viene la macro?"
feersum

Non importa. Ho scambiato il #define Tcomponente come componente necessario per la tua soluzione. La domanda rimane, tuttavia, perché M-across funziona? La definizione di una costante a più caratteri concatena i valori dei byte? Se è così, ho imparato qualcosa di nuovo oggi. :)
COTO

@COTO Sì, è come creare un numero di base 256. I letterali dei caratteri hanno il tipo int, quindi puoi inserire fino a quattro byte senza perdita di informazioni.
feersum

3
Sicuramente non lo sapevo. (Molto probabilmente perché chiunque lo abbia usato nel codice di produzione è stato strangolato a morte dalle persone responsabili del mantenimento del proprio codice.) Puntelli per averlo fatto bene. :)
COTO

8

professorfish, CJam, 41 dark

(Questa soluzione in realtà richiede diversi spazi, quindi non è quello che professorfish stava cercando.)

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

È stato molto divertente. Si noti che il #sottostante 6è in realtà codice e non una cella oscura. Andiamo attraverso questo:

Attraverso

Suggerimento 2: [[4 3]]. Questo è stato uno dei più complicati, perché mi sono davvero bloccato a provare 4Z]]`o simili. Si scopre che è possibile utilizzare il prodotto cartesiano m*su cose che non sono un array e ne creerà uno per te. Quindi eccolo qui:

4Zm*`

Suggerimento 4: 24717. Con il tempo ho avuto modo di questo, il H, J, se finali spazio erano già sul posto. Il Hdato via che avrei potuto probabilmente solo riutilizzare la 17e fare \alla fine. Il Jspinge un 19e 247 == 13 * 19, quindi:

HDJ*s\ 

Suggerimento 7: 32. Ci sono un sacco di modi per farlo: Y5#, 3 2, ZY, YZ\, 4(2, 2)2, '32. Sono andato con l'ultimo, perché iniziare con un personaggio sembrava promettente per 7-down, e questo si è rivelato essere giusto.

Suggerimento 8: E. Ho già avuto il 'dmomento in cui ci sono arrivato, quindi era tra la scelta 'd1+eu, 'deu1+o una variante in cui ho usato )e uno spazio invece di 1+(per le persone non CJam, questo prende il dcarattere, lo incrementa e lo mette in maiuscolo, in entrambi gli ordini) . Tuttavia, unella colonna finale sembrava utile per A-down. Quindi ho scelto il primo di quelli. Alla fine 'd) euavrebbe funzionato anche lui.

Suggerimento 9: "". Bene, questo doveva essere "stringa vuota, ottenere la rappresentazione della stringa, spingere uno spazio". Ma avevo anche bisogno di `per la rappresentazione delle stringhe in 7-down, e anche uno spazio in A-down mi sembrava utile, quindi ho scelto

]`' 

Si noti che ]potrebbe anche essere stato uno dei LMOQR.

Suggerimento B: "m. Ho dovuto solo adattarlo a tutto il resto, ma c'erano pochi personaggi che contavano. Ho già avuto il {e il m. Quindi, invece di usare un blocco, mi sono trasformato {in un personaggio, l'ho scartato e quindi ho spinto i due personaggi richiesti:

 '{;'"'m

Suggerimento D: 124. Ho risolto questo insieme a C-down, che era più facile con un decremento alla fine. Quindi spingo un 12, un 5 e decremento di quest'ultimo:

C5(

Giù

Suggerimento 1: [2 2 2 3]. Sembrava troppo sospettosamente una scomposizione in fattori primi per non esserlo. :)

24mf`

Suggerimento 3: 3010936384. Factoring questo ha dimostrato che in realtà è 38 6 . L'unica domanda era come ottenere la 38conformità con 2-across. Alla fine avevo bisogno di un *terzo posto, quindi raddoppiare 19era:

J2*6#

Suggerimento 5: 2017. Due personaggi per un numero così grande? Usa solo variabili a due cifre integrate:

KH

Suggerimento 6: "18". Penso che ci sia un solo modo per farlo in 3 personaggi. Utilizzare il 18 incorporato, convertirlo in una stringa e quindi nella sua rappresentazione di stringa.

Is`

Suggerimento 7: ' "\"\"". Probabilmente la parte più difficile del puzzle. In particolare, avevo bisogno di ottenere "\"\""solo tre personaggi. Il trucco era ottenere due volte la rappresentazione della stringa vuota. Ciò ha portato a:

' `L``+

THe +non è necessario, ma è stato necessario da 8 in tutto.

Suggerimento 8: !{}. Il blocco doveva essere inserito nel codice, quindi rimanevano solo due caratteri !, il che significava usare un altro letterale:

'!{}

Suggerimento A: -3u3. Con il uposto da 8-in, ho iniziato a mettere -3e 3negli angoli dove nessun altro suggerimento si preoccupava per loro. Ma poi avevo bisogno di un min fondo. Penso che ci siano diversi modi per ottenere un 3con _m_, ma il più semplice è stato prendere la radice quadrata di 9:

-3 'u9mq

Suggerimento C: -1. Ho già avuto il decremento lì, quindi ho appena messo un punto in 0cui nessun altro si preoccupava:

0  (

Suggerimento E: Stack: "". Bene, quello era il più semplice. Basta chiamare il debugger:

ed

Calvin's Hobbies ha parlato , la risposta è valida. Lo modificherò nel mio post

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 across è 5+Math.PIo Math.PI+5; ma quest'ultimo avrebbe lasciato 'M' e 'h' incrociati in altre espressioni, sembrava improbabile.
  • A across doveva essere una stringa; con 4 al centro sembrava una via di fuga, l'unico modo in cui hai spazio è quello "\x48I".
  • 2 down ora termina in una stringa, quindi probabilmente "pac" viene aggiunto a un numero; torneremo su quello.
  • 8 ac è ora xxxa, valutando a zero, quindi -a + a? a + -a? 3 + -a? a+-asembrava migliore dato che mi ha dato quello che sembrava un carattere in una stringa in 1dn.
  • 1 in basso conteneva: 5, che poteva essere solo una grammatica legale {x:5}xxa'x. Poiché il valore restituito è 5, deve essere estratto dall'oggetto, quindi {x:5}['a']il carattere mancante finale è anche un:{a:5}['a']
  • 1 attraverso ora ha {all'inizio. Immaginai che si trattasse di un compito di aringhe rosse, ci provai t={}=51e funzionò. Non lo sapevo!
  • 2 down ora ha 5xxax"pac"=> "2pac". Questo deve essere 5-a+"pac", in qualche modo, quindi il secondo carattere deve essere '.' per il virgola mobile letterale.
  • 7 ac è ora [xx"xxxx], restituendo "90". Quindi questo deve essere un array letterale con il valore estratto; c'è solo spazio per un valore, quindi abbiamo [xx"xx][0]. Non c'è spazio per due stringhe lì dentro, ma "9"+0o in 9+"0"forma.
  • 3 dn; 3072 è 3 * 1024; la potenza di 2 è sospetta e avevo già "io" lì dentro che bloccava altri modi per ottenere grandi numeri (come 1eX). Quindi, indovinato bitshift; 6<<Isi è rivelata la risposta, lasciando +0 per aggiungere alla fine.
  • 4 ac ora conteneva un operatore di confronto; e il secondo carattere doveva essere un operatore unario valido (da inserire dopo 't =' e 'I'). Ho indovinato '-', e non c'è diverse soluzioni possibili a sinistra ( I-I<4, I-6<4, ecc)
  • 5 dn ora contenuto -x..]xxx4. Il ".." mi ha gettato - ci sono solo un paio di modi che possono essere sintassi legali ed è il motivo per cui ho chiesto se ES4 è quello che era previsto - era questa una strana caratteristica di quella specifica abbandonata? Ma poi ho visto che si trattava di un'aringa rossa; -""è NaN, quindi -"..]"xx4deve essere quello che c'è - un confronto con NaN, che restituisce false; "==" lo farà, ma è necessario guardare l'ultima risposta per confermare ...
  • 9ac aveva diverse possibili soluzioni, ma la restrizione sui personaggi che sarebbe consentita per 5dn mi ha fatto pensare che si trattasse di un altro incarico di aringhe rosse; qualcosa =-10. Ad essere sincero, ho anche guardato la versione precedente di 9dn, e ho capito che doveva essere qualcosa =top(per riavere una finestra). La variabile assegnata a potrebbe essere a o I, non importa.

Puzzle complicato!


4

puzzle di Python di grc

soluzione di cruciverba grc

Per tutte le lunghe espressioni in virgola mobile, ho creato un programma C ++ per generare forzatamente espressioni matematiche di Python e valutarle. Presuppone che tutti i numeri siano in virgola mobile e supporta solo operatori +, -, *, /, //, ** e ~. L'ho usato per ottenere ogni indizio più lungo di 5 caratteri tranne a**9*27%be l'hash. Con 6 o meno spazi vuoti termina in un paio di secondi, mentre c'è un po 'di attesa per 7.


3

Soluzione al puzzle MATLAB di COTO

Immagino di aver giocato a golf abbastanza bene, dato che ci sono 14 spazi.

griglia della soluzione

Questo script di prova:

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

produce il seguente output:

     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

Bello spettacolo. Alcuni spazi non mi aspettavo, ma ce ne sono anche alcuni nella chiave. Lo posterò ora. ;)
COTO
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.