Se pensi che potrebbe essere divertente, ma troppo lavoro, prendi in considerazione la possibilità di partecipare a questa sfida molto più piccola.
Un po 'di divertimento (e forse di frustrazione!) Per il 2016 ... il "puzzle dell'anno" di Dyalog . Godere!
L'obiettivo
Trova espressioni Dyalog APL ( download ) (sono consentite altre lingue, vedi Idoneità di seguito) che coinvolgono esattamente le cifre 2 0 1 6 in quell'ordine per uguagliare i numeri da 0 a 100. Ad esempio:
20=16
×2016
2⌊016
2+0+1*6
...
Lo scopo è quello di utilizzare il minor numero possibile di caratteri in ciascuna espressione (il numero minimo di caratteri per un'espressione è 5 - le quattro cifre 2 0 1 6 e una singola funzione / operatore primitiva).
Le regole
- Ogni espressione deve contenere le cifre 2 0 1 6 (in quell'ordine) e nessuna altra cifra. Costanti e variabili preimpostate non sono consentite.
- Oltre alle quattro cifre 2 0 1 6, è possibile utilizzare solo simboli e nomi incorporati, parentesi / parentesi graffe, spazi, segni meno alti e punti decimali. Le espressioni risultanti devono essere deterministiche (ovvero dare lo stesso risultato su valutazioni ripetute). Per i non APL, sono consentite anche funzioni / operatori con un nome; stesse regole come qui .
- Assumi tutte le impostazioni predefinite per la tua lingua. Per Dyalog APL, questo significa
⎕ML
che⎕IO
sono entrambi 1 ed⎕PP
è 10. - Ogni voce comprendente le espressioni corrette per tutti i numeri compresi tra 0 e 100 inclusi verrà valutata in base al numero di caratteri utilizzati da quelle espressioni, esclusi gli spazi ridondanti (minimo 505 per tutte le 101 espressioni).
Eleggibilità
Chiunque può entrare. Puoi rispondere in qualsiasi lingua, ma solo le risposte APL saranno prese in considerazione per l'accettazione. Se usi una lingua diversa da APL, puoi utilizzare frammenti, programmi, funzioni, ecc. Come alternative alle espressioni e puoi stampare, lasciare il numero in una posizione di memoria accessibile o altrimenti restituire il risultato, purché il tuo codice direttamente valuta il numero desiderato come qualsiasi tipo di dati numerico standard per la tua lingua.
Data di chiusura
30 novembre 2016.
I premi
- Chiedi la tua risposta
- Lasciati immortalare nella Hall of Fame di Dyalog 2016!
Invio della tua iscrizione
Dopo il 30 novembre 2016, accetterò la risposta più breve e invierò la tua risposta, a tuo nome, alla Hall of Fame di Dyalog 2016.
FAQ
- È
J
(ad esempio, 37 =⌈⍟!20J16
) ha permesso? - No: oltre alle quattro cifre 2 0 1 6, è possibile utilizzare solo simboli e nomi incorporati, parentesi / parentesi graffe, spazi, segni meno alti e punti decimali.
- L'output come stringa è accettabile?
- No: uguale ai numeri da 0 a 100.
- Cifre fisiche o cifre dei dati?
- Cifre di dati, come da OP: stesse regole come qui , dove contiene uno degli esempi
LOG10(
. - È
a+16+a←20
consentito assegnare variabili quindi usarle come parte dell'espressione (ad es. 56 = )? - Sì, ma non puoi usare un'assegnazione da un'espressione in un'altra.
Ho il permesso scritto esplicito di pubblicare questa sfida qui dall'autore originale di questa sfida. Sentiti libero di verificare seguendo il link fornito e contattando l'autore. Ho fornito all'autore del concorso originale il collegamento a questa pagina nel momento in cui l'ho pubblicata, in modo che possano verificare se invio la risposta di qualcuno come mia.
⎕ML
e ⎕IO
(si presume che 1
) sia accettabile?