L'obiettivo di una Rosetta Stone Challenge è scrivere soluzioni in quante più lingue possibile. Mostra il tuo multilinguismo di programmazione!
La sfida
La tua sfida è quella di implementare un programma che inserirà un elenco di numeri e produca la regola usata per generare ogni numero successivo nella serie, nel maggior numero di linguaggi di programmazione possibile . Puoi usare qualsiasi tipo di funzione di libreria standard nella tua lingua, poiché questa è principalmente una vetrina linguistica.
Che cos'è una "serie?"
Una serie è un elenco ordinato di numeri interi. Ogni numero successivo nella serie può essere generato applicando una semplice regola al numero precedente nella serie. In questa sfida, la regola consiste nel moltiplicare il numero per una costante e quindi aggiungere una seconda costante. Entrambe le costanti possono essere qualsiasi numero intero. L'obiettivo di questa sfida è produrre queste due costanti.
Per la serie 2 5 11
, la regola può essere scritta come 2 1
. Ciò significa che ogni numero è il numero precedente, per 2, più 1. Un fatto importante è che la maggior parte delle serie ha esattamente una regola. Alcune serie hanno un numero infinito o nessuna, ma non dovrai occupartene.
Ingresso
L'input sarà un elenco di tre diversi numeri interi che sono i numeri nella sequenza. I numeri possono essere delimitati da spazio, virgola o newline, ma specificare quale. Sarò flessibile su questa limitazione perché alcune lingue potrebbero avere restrizioni di input. Ecco quattro esempi di input:
0 7 14
2 5 11
2 0 -4
5 -19 77
Produzione
L'output sarà di due numeri interi che rappresentano la regola utilizzata per generare la serie. Il primo numero sarà la costante moltiplicativa, mentre il secondo numero sarà la costante additiva. La formattazione dell'output può essere delimitata da spazio, virgola o newline. Sono flessibile anche su questa limitazione. Ecco gli esempi corrispondenti di output:
1 7
2 1
2 -4
-4 1
Il criterio vincente dell'obiettivo
Per quanto riguarda un criterio obiettivo vincente, eccolo qui: ogni lingua è una competizione separata su chi può scrivere la voce più breve, ma il vincitore generale sarebbe la persona che vince la maggior parte di queste sotto-competizioni. Ciò significa che una persona che risponde in molte lingue non comuni può ottenere un vantaggio. Il code-golf è principalmente un tiebreak per quando c'è più di una soluzione in una lingua: la persona con il programma più corto ottiene credito per quella lingua.
Regole, restrizioni e note
Il tuo programma può essere scritto in qualsiasi lingua esistente prima del 9 aprile 2012. Dovrò anche fare affidamento sulla comunità per convalidare alcune risposte scritte in alcune delle lingue più insolite / esoteriche, poiché è improbabile che io sia in grado di testare loro.
Classifica attuale
Questa sezione verrà periodicamente aggiornata per mostrare il numero di lingue e chi guida in ciascuna di esse.
- AWK (32) - mellamokb
- bash (31) - Peter Taylor
- Befunge (29) - Howard
- bc (39) - kernigh
- brainfuck (174) - CMP
- C (78) - l0n3_shArk
- C ++ (96) - leftaroundabout
- Common Lisp (88) - kernigh
- Cray Chapel (59) - Kyle Kanos
- csh (86) - kernigh
- Cuda (301) - leftaroundabout
- dc (30) - kernigh
- DOS BATCH (54) - mellamokb
- Element (27) - Howard
- es (95) - kernigh
- Fattore (138) - kernigh
- Felix (86) - kirbyfan64sos
- Fortran (44) - Kyle Kanos
- Go (101) - Howard
- GolfScript (16) - Howard
- Golflua (44) - Kyle Kanos
- Haskell (35) - leftaroundabout
- J (23) - Gareth
- Java (141) - Howard
- JavaScript (47) - mellamokb
- Julia (71) - ML
- Lua (51) - Howard
- Mercurio (319) - circa
- MoonScript (48) - kirbyfan64sos
- Nimrod (146) - leftaroundabout
- Owl (22) - res
- Pascal (88) - leftaroundabout
- Perl (57) - Gareth
- PHP (61) - mellamokb
- PicoLisp (72) - kernigh
- Piet (56) - ML
- PostScript (61) - Howard
- Python (40) - Howard
- Q (36) - tmartin
- QBasic (34) - mellamokb
- R (50) - res
- Ruby (44) - Howard
- Scala (102) - Gareth
- SQL (57) - Aman ZeeK Verma
- TI-83 BASIC (25) - mellamokb
- Unlimited Register Machine (285) - Paxinum
- VBA (57) - Gaffi
- Spazio bianco (123) - res
- zsh (62) - kernigh
Classifiche utente corrente
I gradi uguali sono ordinati alfabeticamente.
Howard (9): Befunge (29), Element (27), Go (101), GolfScript (16), Java (141), Lua (51), PostScript, (61) Python, (40) Ruby (44)
kernigh (8): bc (39), Common Lisp (88), csh (86), dc (30), es (95), Factor (138), PicoLisp (72), zsh (62)
leftroundabout (6): C ++ (96), Cuda (301), Haskell (35), Mercury (319), Nimrod (146), Pascal (88)
mellamokb (6): AWK (32), DOS BATCH (54), JavaScript (47), PHP (61), QBasic (34), TI-83 BASIC (41)
Gareth (3): J (23), Perl (57), Scala (102)
Kyle Kanos (3): Cray Chapel (59), Fortran (44), Golflua (44)
res (3): Gufo (22), R (50), Spazio bianco (123)
kirbyfan64sos (2): Felix (86), MoonScript (48)
ML (2): Julia (71), Piet (56)
Aman Zeek verma (1): SQL (57)
CMP (1): brainfuck (174)
Gaffi (1): VBA (57)
l0n3_shArk (1): C (78)
Paxinum (1): Unlimited Register Machine (285)
Peter Taylor (1): bash (31)
tmartin (1): Q (36)
code-golf
che i code-challenge
tag.