L'objectif d'un Rosetta Stone Challenge est d'écrire des solutions dans autant de langues que possible. Montrez votre multilinguisme de programmation!
Le défi
Votre défi est d'implémenter un programme qui entrera une liste de nombres et sortira la règle utilisée pour générer chaque numéro successif de la série, dans autant de langages de programmation que possible . Vous êtes autorisé à utiliser n'importe quelle sorte de fonction de bibliothèque standard de votre langue, car il s'agit principalement d'une vitrine de langue.
Qu'est-ce qu'une "série"?
Une série est une liste ordonnée d'entiers. Chaque numéro successif de la série peut être généré en appliquant une règle simple au numéro précédent de la série. Dans ce défi, la règle consiste à multiplier le nombre par une constante, puis à ajouter une deuxième constante. Les deux constantes peuvent être n'importe quel entier. Le but de ce défi est de produire ces deux constantes.
Pour la série 2 5 11
, la règle peut s'écrire 2 1
. Cela signifie que chaque nombre est le nombre précédent, multiplié par 2, plus 1. Un fait important est que la plupart des séries ont exactement une règle. Certaines séries ont un nombre infini ou pas du tout, mais vous n'aurez pas à vous en occuper.
Contribution
L'entrée sera une liste de trois entiers différents qui sont les nombres de la séquence. Les nombres peuvent être séparés par des espaces, des virgules ou des sauts de ligne, mais veuillez préciser lesquels. Je vais être flexible sur cette limitation car certaines langues peuvent avoir des restrictions d'entrée. Voici quatre exemples de saisie:
0 7 14
2 5 11
2 0 -4
5 -19 77
Production
La sortie sera constituée de deux entiers qui représentent la règle utilisée pour générer la série. Le premier nombre sera la constante multiplicative, tandis que le deuxième nombre sera la constante additive. Le formatage de la sortie peut être délimité par des espaces, des virgules ou des sauts de ligne. Je suis également flexible sur cette limitation. Voici les exemples de sortie correspondants:
1 7
2 1
2 -4
-4 1
Le critère de gain objectif
En ce qui concerne un critère de gain objectif, le voici: chaque langue est une compétition distincte pour savoir qui peut écrire la plus courte inscription, mais le gagnant général serait la personne qui remporte le plus de ces sous-compétitions. Cela signifie qu'une personne qui répond dans de nombreuses langues rares peut bénéficier d'un avantage. Le code-golf est surtout un bris d'égalité lorsqu'il y a plus d'une solution dans une langue: la personne avec le programme le plus court obtient un crédit pour cette langue.
Règles, restrictions et notes
Votre programme peut être écrit dans n'importe quelle langue qui existait avant le 9 avril 2012. Je devrai également compter sur la communauté pour valider certaines réponses écrites dans certaines des langues les plus rares / ésotériques, car il est peu probable que je puisse tester leur.
Classement actuel
Cette section sera périodiquement mise à jour pour montrer le nombre de langues et qui mène dans chacune.
- AWK (32) - mellamokb
- bash (31) - Peter Taylor
- Befunge (29) - Howard
- bc (39) - kernigh
- enculé (174) - CMP
- C (78) - l0n3_shArk
- C ++ (96) - à gauche
- Lisp commun (88) - kernigh
- Chapelle de Cray (59) - Kyle Kanos
- csh (86) - kernigh
- Cuda (301) - à gauche
- dc (30) - kernigh
- DOS BATCH (54) - mellamokb
- Élément (27) - Howard
- es (95) - kernigh
- Facteur (138) - kernigh
- Félix (86) - kirbyfan64sos
- Fortran (44) - Kyle Kanos
- Aller (101) - Howard
- GolfScript (16) - Howard
- Golflua (44) - Kyle Kanos
- Haskell (35) - à gauche
- J (23) - Gareth
- Java (141) - Howard
- JavaScript (47) - mellamokb
- Julia (71 ans) - ML
- Lua (51 ans) - Howard
- Mercure (319) - à gauche
- MoonScript (48) - kirbyfan64sos
- Nimrod (146) - à gauche
- Chouette (22) - res
- Pascal (88) - à gauche
- 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
- Rubis (44) - Howard
- Scala (102) - Gareth
- SQL (57) - Aman ZeeK Verma
- TI-83 BASIC (25) - mellamokb
- Machine d'enregistrement illimitée (285) - Paxinum
- VBA (57) - Gaffi
- Espace (123) - res
- zsh (62) - kernigh
Classements des utilisateurs actuels
Les rangs égaux sont triés par ordre alphabétique.
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): Chapelle de Cray (59), Fortran (44), Golflua (44)
res (3): Chouette (22), R (50), Blanc (123)
kirbyfan64sos (2): Felix (86), MoonScript (48)
ML (2): Julia (71), Piet (56)
Aman Zeek verma (1): SQL (57)
CMP (1): enculé (174)
Gaffi (1): VBA (57)
l0n3_shArk (1): C (78)
Paxinum (1): Machine d'enregistrement illimitée (285)
Peter Taylor (1): bash (31)
tmartin (1): Q (36)
code-golf
et code-challenge
.