Celem Stone Rosetta Challenge jest pisanie rozwiązań w jak największej liczbie języków. Pochwal się swoją wielojęzycznością programistyczną!
Wyzwanie
Twoim wyzwaniem jest wdrożenie programu, który wprowadzi listę liczb i wyświetli regułę stosowaną do generowania każdej kolejnej liczby w szeregu, w jak największej liczbie języków programowania . Możesz używać dowolnej standardowej funkcji biblioteki, którą posiada Twój język, ponieważ jest to głównie prezentacja języka.
Co to jest „seria?”
Seria to uporządkowana lista liczb całkowitych. Każdy kolejny numer w serii można wygenerować, stosując prostą regułę do poprzedniego numeru w serii. W tym wyzwaniu reguła polega na pomnożeniu liczby przez stałą, a następnie dodaniu drugiej stałej. Obie stałe mogą być dowolnymi liczbami całkowitymi. Celem tego wyzwania jest uzyskanie tych dwóch stałych.
W przypadku serii 2 5 11
regułę można zapisać jako 2 1
. Oznacza to, że każda liczba jest poprzednią liczbą, razy 2, plus 1. Ważnym faktem jest to, że większość serii ma dokładnie jedną regułę. Niektóre serie mają albo nieskończoną liczbę, albo wcale, ale nie będziesz musiał sobie z tym poradzić.
Wejście
Dane wejściowe będą listą trzech różnych liczb całkowitych, które są liczbami w sekwencji. Liczby mogą być spacjami, przecinkami lub znakami nowej linii, ale proszę podać, które. Będę elastyczny w kwestii tego ograniczenia, ponieważ niektóre języki mogą mieć ograniczenia wprowadzania. Oto cztery przykłady danych wejściowych:
0 7 14
2 5 11
2 0 -4
5 -19 77
Wynik
Wyjściowe będą dwie liczby całkowite, które reprezentują regułę użytą do wygenerowania szeregu. Pierwsza liczba będzie stałą multiplikatywną, a druga liczba będzie stałą addytywną. Formatowanie wyniku może być spacją, przecinkiem lub znakiem nowej linii. Jestem również elastyczny w kwestii tego ograniczenia. Oto odpowiednie przykłady wyników:
1 7
2 1
2 -4
-4 1
Kryterium zwycięskiego celu
Jeśli chodzi o obiektywne kryterium wygranej, oto on: Każdy język to osobny konkurs na to, kto może napisać najkrótszą pracę, ale ogólnym zwycięzcą byłaby osoba, która wygra najwięcej z tych pod-konkursów. Oznacza to, że osoba, która odpowiada w wielu nietypowych językach, może zyskać przewagę. Code-golf jest przeważnie rozstrzygający, gdy istnieje więcej niż jedno rozwiązanie w języku: osoba z najkrótszym programem otrzymuje kredyt za ten język.
Reguły, ograniczenia i uwagi
Twój program może być napisany w dowolnym języku, który istniał przed 9 kwietnia 2012 r. Będę również musiał polegać na społeczności, aby zweryfikować niektóre odpowiedzi napisane w niektórych bardziej rzadkich / ezoterycznych językach, ponieważ jest mało prawdopodobne, że będę w stanie przetestować im.
Aktualny ranking
Ta sekcja będzie okresowo aktualizowana, aby pokazać liczbę języków i kto prowadzi w każdym z nich.
- AWK (32) - mellamokb
- bash (31) - Peter Taylor
- Befunge (29) - Howard
- bc (39) - kernigh
- brainfuck (174) - CMP
- C (78) - 10n3_shArk
- C ++ (96) - po lewej stronie
- Common Lisp (88) - kernigh
- Cray Chapel (59) - Kyle Kanos
- csh (86) - kernigh
- Cuda (301) - po lewej stronie
- dc (30) - kernigh
- DOS BATCH (54) - mellamokb
- Element (27) - Howard
- es (95) - kernigh
- Współczynnik (138) - kernigh
- Felix (86) - kirbyfan64sos
- Fortran (44) - Kyle Kanos
- Idź (101) - Howard
- GolfScript (16) - Howard
- Golflua (44) - Kyle Kanos
- Haskell (35) - po lewej stronie
- J (23) - Gareth
- Java (141) - Howard
- JavaScript (47) - mellamokb
- Julia (71) - ML
- Lua (51) - Howard
- Rtęć (319) - po lewej stronie
- MoonScript (48) - kirbyfan64sos
- Nimrod (146) - po lewej stronie
- Owl (22) - res
- Pascal (88) - po lewej stronie
- Perl (57) - Gareth
- PHP (61) - mellamokb
- PicoLisp (72) - kernigh
- Piet (56) - ML
- PostScript (61) - Howard
- Python (40) - Howard
- Q (36) - tartinina
- QBasic (34) - mellamokb
- R (50) - res
- Ruby (44) - Howard
- Scala (102) - Gareth
- SQL (57) - Aman ZeeK Verma
- TI-83 BASIC (25) - mellamokb
- Nieograniczona rejestracja maszyny (285) - Paxinum
- VBA (57) - Gaffi
- Biała spacja (123) - res
- zsh (62) - kernigh
Aktualne rankingi użytkowników
Równe stopnie są sortowane alfabetycznie.
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): Owl (22), R (50), Whitespace (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
i code-challenge
.