Jako efekt uboczny mojego wyzwania w Puzzling , Twoim celem jest wyjście 2016
.
Zasady:
- Musisz podać liczby
10 9 8 7 6 5 4 3 2 1
w tej kolejności. Można ich używać jako pojedynczych liczb całkowitych lub konkatenować razem (jak1098
), ale10
nie można ich dzielić na1
i0
- między cyframi nie może być żadnych znaków. Zauważ, że w niektórych językach10
może nie przedstawiać literału całkowitego10
, co jest dopuszczalne. - Twój kod nie może zawierać żadnych innych liczb ani predefiniowanych zmiennych liczbowych lub stałych (więc
T
w Pyth nie jest dozwolony, ponieważ jest stałą numeryczną). - Musisz obliczyć
2016
za pomocą liczb. Po prostu wyprowadzanie2016
bez wykonywania jakichkolwiek operacji na wymaganych liczbach (na przykład przez dekodowanie zakodowanego łańcucha składającego się tylko z znaków alfabetycznych) jest niedozwolone. Wyprowadzanie2016
w kawałkach (np.20
Wtedy16
) również nie jest dozwolone; musisz mieć jedno wyjście składające się z wartości liczbowej2016
. - Prawidłowa odpowiedź z najmniejszą liczbą bajtów wygrywa.
20
a16
i wydrukować je jeden po drugim, czy też obliczona liczba TRZEBA 2016 przed drukowaniem? 2) Czy funkcje są dozwolone? 3) Czy dozwolone jest łączenie cyfr? np.1098
(zakładam, że tak w poprzednich komentarzach, ale tylko w celu potwierdzenia) 4) Czy „obliczanie 2016 za pomocą liczb całkowitych” oznacza, że nigdy nie możemy mieć liczb zmiennoprzecinkowych w kroku pośrednim? np. czy mogę uzyskać pierwiastek kwadratowy z liczby i zaokrąglić w dół?T987654321
?10
musi być uwzględnione, więc musisz jakoś sobie z tym poradzić. 6 Tak długo, jak się10
pojawia wcześniejT
.Odpowiedzi:
Galaretka ,
171514 bajtówWypróbuj online!
Jak to działa
źródło
Sześciokąty, 61 bajtów
Nie wygram, ale chciałem po prostu rzucić wyzwanie w Hexagony.
To używa innej metody niż inne odpowiedzi (znacznie gorzej). Uwzględnia niektóre czynniki z 2016 r. (2,3,6,7,8) i mnoży je wszystkie razem.
Zminimalizowane:
Unminified:
Wyjaśnienie już wkrótce;
źródło
Pyth, 16 bajtów
Czy dzielenie liczb całkowitych, a następnie dodaje (3-21).
Wypróbuj tutaj .
źródło
TI-BASIC,
1715 bajtówTo używa metody @ nicael.
17 bajtów:
To rozwiązanie Puzzling można bezpośrednio przetłumaczyć na TI-BASIC.
źródło
Japt,
1716 bajtówNienawidzę tego 17. Prawdopodobnie znajdzie inne rozwiązanie.YAYZ.Wyjaśnienie:
321q
jest pierwiastkiem kwadratowym z 321.~~
liczba pięter.Wypróbuj online!
źródło
Â
==~~
:-)109876/54-321¬f
jest 15 :-D109876/54-321q)f
teraz działa. Druga sugestia nie.Matlab / Octave, 23 bajty
Wypróbuj online
źródło
pne, 14
Nic ekscytującego tutaj - pożycza z innych odpowiedzi.
źródło
109876 54/3+21-p
otrzymuje 16 punktów, ale nie gwarantuje własnej odpowiedzi.Haskell, 31 bajtów
Nie najkrótszy,
10+9*8-7+654*3-21
jak widać w innych odpowiedziach, działa również w Haskell, ale coś innego.To tworzy listę zaczynającą się od
10
i9*8*7+6 = 510
, więc przesunięcie dotyczy500
następujących elementów. Cała lista jest[10,510,1010,1510,2010,2510 ...]
. Wybieramy4th
element (oparty na indeksie 0), tj.2010
I dodajemy3*2*1 = 6
. Voilà.Używam,
const 6 5 = 6
aby pozbyć się tego,5
co nie jest potrzebne.źródło
Python 2, 20 bajtów
Znów to samo nudne
2016.(740)
. Wykorzystuje fakt, że jeśli nie masz liczby dziesiętnej w wyrażeniu, zwraca liczbę całkowitą.źródło
> <> (ryba), 18 bajtów
wyjaśnienie:
mnoży 9 8 i 7 razem, aby uzyskać 504, odwraca stos i odwraca go ponownie tuż przed dodaniem 4, następnie mnoży 504 i 4, aby uzyskać 2016. Następnie drukuje liczbę i kończy program przed ostatnimi 3 liczbami (mógłbym to zrobić potem też bez różnicy, jeśli ma to zasadnicze znaczenie).
źródło
Matematyka ++ , 17 bajtów
Właściwie to się drukuje
2016.0
. Ale tak naprawdę nie ma sposobu, aby wydrukować dokładny ciąg2016
w tym języku.Tutaj również działałoby 17-bajtowe rozwiązanie TI-BASIC.
źródło
Polyglot, 17 bajtów
Ten kod, po raz pierwszy użyty w odpowiedzi TI-BASIC Thomasa Kwa , działa również w:
JavaScript (wejście konsoli, dlatego nie jest poprawne)Wymaga drugiej weryfikacjiPerl 5 (funkcja, dlatego nie jest poprawna).Wymaga drugiej weryfikacjiźródło
10+9*8-7+654*3-21
nie jest ani JavaScript, ani funkcją Perla.𝔼𝕊𝕄𝕚𝕟 2, 15 znaków / 17 bajtów
Try it here (Firefox only).
Przekłada się na
round(109876/54+3-21)
.Dzięki @Dennis za uratowanie 2 bajtów!
źródło
Java 7, 31 bajtów
Boring port z innymi odpowiedziami, z których wierzę @Dennis 'Jelly odpowiedź była pierwsza.
źródło
PHP, 27 bajtów
(22 bajty) było zbyt nudne,
więc użyłem od 10 do 9 jako osobnych liczb:
inne rozwiązania, głównie z małymi kodami:
źródło
Droga Mleczna 1.6.5 ,
2825 bajtówWyjaśnienie
źródło
BotEngine ,
42393613x2 = 26źródło
05AB1E , 15 bajtów
Wypróbuj online!
Odpowiedź Portu Dennisa.
źródło
Dalej, 22 bajty
Takie same obliczenia jak w innych odpowiedziach.
Wypróbuj online
źródło
C 37 bajtów
Ten sam motyw, co wielu obecnych.
źródło
VBA, 15 bajtów
(obliczenia bezwstydnie skradzione Dennisowi )
źródło
JavaScript (ES6), 21 bajtów
Jeśli „odliczanie” osiągnęło wartość 0, można to zrobić w 19 bajtach.
I biorąc pod uwagę, że jest to teraz 2017, można to również zrobić w 21 bajtach:
źródło