O objetivo do Rosetta Stone Challenge é escrever soluções no maior número possível de idiomas. Mostre seu multilinguismo de programação!
O desafio
Seu desafio é implementar um programa que insira uma lista de números e produza a regra usada para gerar cada número sucessivo da série, no maior número possível de linguagens de programação . Você tem permissão para usar qualquer tipo de função de biblioteca padrão que seu idioma possua, pois essa é principalmente uma demonstração de idioma.
O que é uma "série"?
Uma série é uma lista ordenada de números inteiros. Cada número sucessivo da série pode ser gerado aplicando uma regra simples ao número anterior da série. Nesse desafio, a regra consiste em multiplicar o número por uma constante e adicionar uma segunda constante. Ambas as constantes podem ser qualquer número inteiro. O objetivo deste desafio é produzir essas duas constantes.
Para a série 2 5 11
, a regra pode ser escrita como2 1
. Isso significa que cada número é o número anterior, vezes 2, mais 1. Um fato importante é que a maioria das séries tem exatamente uma regra. Algumas séries têm um número infinito ou nenhum, mas você não precisará lidar com isso.
Entrada
A entrada será uma lista de três números inteiros diferentes, que são os números na sequência. Os números podem ser delimitados por espaço, vírgula ou nova linha, mas especifique quais. Eu serei flexível nessa limitação porque certos idiomas podem ter restrições de entrada. Aqui estão quatro exemplos de entrada:
0 7 14
2 5 11
2 0 -4
5 -19 77
Resultado
A saída será dois números inteiros que representam a regra usada para gerar a série. O primeiro número será a constante multiplicativa, enquanto o segundo número será a constante aditiva. A formatação da saída pode ser delimitada por espaço, vírgula ou nova linha. Também sou flexível nessa limitação. Aqui estão os exemplos correspondentes de saída:
1 7
2 1
2 -4
-4 1
O Critério Vencedor Objetivo
Quanto a um critério de vitória objetivo, aqui está: Cada idioma é uma competição separada sobre quem pode escrever a entrada mais curta, mas o vencedor geral será a pessoa que vencer a maioria dessas subcompetições. Isso significa que uma pessoa que responde em muitos idiomas incomuns pode obter uma vantagem. O código-golfe é principalmente um desempate quando existe mais de uma solução em um idioma: a pessoa com o programa mais curto recebe crédito por esse idioma.
Regras, restrições e notas
Seu programa pode ser escrito em qualquer idioma que existia antes de 9 de abril de 2012. Também terei que confiar na comunidade para validar algumas respostas escritas em alguns dos idiomas mais incomuns / esotéricos, pois é improvável que eu possa testar eles.
Classificação atual
Esta seção será atualizada periodicamente para mostrar o número de idiomas e quem lidera em cada um.
- AWK (32) - mellamokb
- bash (31) - Peter Taylor
- Befunge (29) - Howard
- bc (39) - kernigh
- cérebro (174) - CMP
- C (78) - l0n3_shArk
- C ++ (96) - leftaroundabout
- Lisp comum (88) - kernigh
- Capela de Cray (59) - Kyle Kanos
- csh (86) - São Paulo
- Cuda (301) - leftaroundabout
- dc (30) - kernigh
- DOS BATCH (54) - mellamokb
- Elemento (27) - Howard
- es (95) - kernigh
- Fator (138) - kernigh
- Felix (86) - kirbyfan64sos
- Fortran (44) - Kyle Kanos
- Go (101) - Howard
- Golfe (16) - Howard
- Golfe (44) - Kyle Kanos
- Haskell (35) - leftaroundabout
- J (23) - Gareth
- Java (141) - Howard
- JavaScript (47) - mellamokb
- Julia (71) - ML
- Lua (51) - Howard
- Mercúrio (319) - leftaroundabout
- MoonScript (48) - kirbyfan64sos
- Nimrod (146) - leftaroundabout
- Coruja (22) - res
- Pascal (88) - leftaroundabout
- Perl (57) - Gareth
- PHP (61) - mellamokb
- PicoLisp (72) - rio de janeiro
- Piet (56) - ML
- PostScript (61) - Howard
- Python (40) - Howard
- Q (36) - tmartin
- QBasic (34) - mellamokb
- R (50) - res
- Rubi (44) - Howard
- Scala (102) - Gareth
- SQL (57) - Aman ZeeK Verma
- TI-83 BASIC (25) - mellamokb
- Máquina de registro ilimitado (285) - Paxinum
- VBA (57) - Gaffi
- Espaço em branco (123) - res
- zsh (62) - São Paulo
Classificação do usuário atual
Classificações iguais são classificadas em ordem alfabética.
Howard (9): Befunge (29), Elemento (27), Go (101), GolfScript (16), Java (141), Lua (51), PostScript, (61) Python, (40) Ruby (44)
kernigh (8): bc (39), Lisp comum (88), csh (86), dc (30), es (95), fator (138), PicoLisp (72), zsh (62)
leftroundabout (6): C ++ (96), Cuda (301), Haskell (35), Mercúrio (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): Capela Cray (59), Fortran (44), Golflua (44)
res (3): Coruja (22), R (50), Espaço em branco (123)
kirbyfan64sos (2): Felix (86), MoonScript (48)
ML (2): Julia (71), Piet (56)
Aman Zeek verma (1): SQL (57)
CMP (1): foda cerebral (174)
Gaffi (1): VBA (57)
l0n3_shArk (1): C (78)
Paxinum (1): Máquina de registro ilimitada (285)
Peter Taylor (1): festança (31)
tmartin (1): Q (36)
code-golf
e code-challenge
.