Dla danej listy liczb znajdź ostatnią cyfrę Przykład:
[3, 4, 2] == 1
[4, 3, 2] == 4
[4, 3, 1] == 4
[5, 3, 2] == 5
Ponieważ .
Ponieważ .
Ponieważ .
Ponieważ .
Zasady:
To jest golf golfowy, więc wygrywa odpowiedź z najmniejszą liczbą bajtów.
Jeśli twój język ma ograniczenia wielkości całkowitych (np. ) n będzie wystarczająco małe, aby suma zmieściła się w liczbie całkowitej.
Dane wejściowe mogą mieć dowolną rozsądną formę (standardowe wejście, plik, parametr wiersza poleceń, liczba całkowita, ciąg itp.).
Dane wyjściowe mogą mieć dowolną rozsądną formę (standardowe wyjście, plik, graficzny element użytkownika, który wyświetla liczbę itp.).
Widziałem wojny wojenne.
number
s. Masz na myśli wyłącznie dodatnie liczby całkowite? Czuję, jak to było interpretowane.[999999,213412499,34532599,4125159,53539,54256439,353259,4314319,5325329,1242149,142219,1243219,14149,1242149,124419,999999999]
są prawidłowe, a wynik powinien brzmieć1
Jeśli tak, należy to wyjaśnić w pytaniu, ponieważ masz głosowane odpowiedzi, które tego nie rozwiązują (wskazówka - poruszaj sięmod
wewnątrz pętli). Być może dodaj kilka przykładów, które to wyjaśnią.9
. Schemat redukcji cyfr konieczny do wdrożenia tego jest o wiele bardziej interesujący niż rzeczywiste odpowiedzi, jakie przyniósł ten problem.Odpowiedzi:
JavaScript (ES7), 22 bajty
Ograniczony do .2)53- 1
Wypróbuj online!
źródło
**
jest operatorem potęgowania JavaScript. Reszta jest dość prosta.a.join`**`
jest równoważnea.join(['**'])
i['**']
wymuszane'**'
przezjoin
metodę.n % 10
zwróci ostatnią cyfręn
R , 25 bajtów
Wypróbuj online!
źródło
Reduce
być wykorzystywany.Haskell, 19 bajtów
Wypróbuj online!
źródło
HP 49G RPL, 36,5 bajtów
Uruchom go w trybie APPROX (ale wejdź do programu w trybie DOKŁADNY). Pobiera dane wejściowe na stosie z pierwszym elementem najgłębiej na stosie, jako liczby całkowite lub rzeczywiste.
Prosto wykładniczy na stosie, jak w rozwiązaniu Sophii, aż pozostała jedna wartość, a następnie bierze mod 10, aby uzyskać ostatnią cyfrę.
Powodem, dla którego używam APPROX do obliczeń jest to, że 0,0 ^ 0,0 = 1 (gdy oba są rzeczywiste), ale 0 ^ 0 =? (gdy oba są liczbami całkowitymi). APPROX zmusza wszystkie liczby całkowite do wartości rzeczywistych, więc wejście jest w porządku z jednym z nich. Jednak używam EXACT, aby wejść do programu, ponieważ 10 (liczba całkowita) jest przechowywana cyfra po cyfrze i ma 6,5 bajta, ale 10,0 (rzeczywista) jest przechowywana jako pełna liczba rzeczywista i ma 10,5 bajtów. Unikam także używania funkcji RPL zmniejszającej (zwanej STREAM), ponieważ wprowadza ona dodatkowy obiekt programu, który ma 10 bajtów narzutu. Mam już jeden i nie chcę drugiego.
Ograniczona do dokładności rzeczywistego HP 49G (12 cyfr dziesiętnych)
-10 bajtów po pustej liście -> 1 wymaganie zostało usunięte.
-2 bajty, przyjmując dane wejściowe na stosie.
źródło
dc ,
1715 bajtówWypróbuj online!
Pobiera dane wejściowe ze stosu, dane wyjściowe do stosu. Bardzo prosta implementacja - potęguje, aż na stosie pozostanie tylko jedna wartość i mod dla ostatniej cyfry.
Dzięki brhfl za oszczędność dwóch bajtów!
źródło
10%
naA%
i jeszcze jeden, nie sprawdzając dwukrotnie głębokości stosu - po prostu umieść1
stos na szczycie przed wykonaniem od n ^ 1 == n:1[^z1<M]dsMxA%
A
literału, gdy jest ustawiony na dane dziesiętne. Dziękuję @brhfl!J , 5 bajtów
-3 bajty dzięki Cole!
Wypróbuj online!
źródło
10|^/
działa?05AB1E , 4 bajty
Wypróbuj online!
Wyjaśnienie
źródło
E
w nagłówku)..V
..«mθ
wygląda bardziej jak fragment kodu, ponieważ sam w sobie nie można przypisać go do zmiennej do późniejszego ponownego użycia. Cóż, Adnan naprawił teraz problem, ale eh.Pure Bash (tylko wbudowane - bez zewnętrznych narzędzi), 21
Dane wejściowe są podawane w wierszu poleceń jako lista oddzielona przecinkami.
Liczby całkowite Bash podlegają normalnym limitom liczb całkowitych ze znakiem dla wersji 64- i 32-bitowych.
Wypróbuj online!
źródło
^
jest bitowym XOR i dlatego wyjdziesz5
z przypadku testowego zamiast prawidłowego1
. Musisz dodać bajt, aby przełączyć się na**
^
wkradło - miałem**
w poprzednich wersjach mojego cyklu deweloperskiego.Wolfram Language (Mathematica) , 16 bajtów
Wypróbuj online!
źródło
Python 2 i Python 3 , 30 bajtów
Wypróbuj online!
N
Oczekuje się, że dane wejściowe będą iterowalnymi obiektami nad ciągami znaków reprezentującymi literały liczbowe .źródło
Rubin,
4147 bajtówZwiększenie rozmiaru ze względu na obsługę dowolnych 0 w tablicy wejściowej, co wymaga dodatkowej uwagi. Dzięki
rewritten
Zostało to rozwiązane, jak sądzę, pierwotne zamierzone źródło, tj. Dla bardzo dużych potęgowań, które nie będą pasować do natywnych liczb całkowitych języka - ograniczenie polega na tym, że tablica będzie sumować
2**32-1
, a nie że obliczenia przejściowe również są gwarantowane. Wydaje się, że to właśnie stanowi wyzwanie dla Code Wars. Chociaż natywne liczby całkowite Ruby mogą być dość duże, nie mogą sobie poradzić z poniższym przykładem przetworzonym naiwnie za pomocą% 10 na końcuNa przykład
Wejście:
[999999,213412499,34532597,4125159,53539,54256439,353259,4314319,5325329,1242149,142219,1243219,14149,1242149,124419,999999999]
Wynik:
9
źródło
n**(t%4+4)
zen**((t-1)%4+1)
tak maszn**1
zamiastn**5
itp Kudos do obserwacji, że na każdym etapie 4 byłby dobry cykl.n<2?n:
wcześniejn**
.05AB1E , 8 bajtów
Wypróbuj online!
źródło
...gGm}10%
(lub coś w golfa).Perl 6 , 14 bajtów
Wypróbuj online!
Wykorzystuje nawias kwadratowy redukcji z operatorem **, modulo 10.
źródło
APL (Dyalog Unicode) , 5 bajtów
Wypróbuj online!
źródło
C # (.NET Core) , 84 bajtów
Wypróbuj online!
źródło
a
i łącząc warunek pętli z decrement (for(var i=a.Lengt-1;i-->0;)
). Aleusing
-statement musi być uwzględniony w liczbie bajtów.C (gcc) , 56
Funkcja rekurencyjna
r()
wywoływana z makraf
- obowiązują normalne limity stosu.Dane wejściowe podane jako tablica int zakończona zerem. Zakłada się, że żaden z x n nie jest równy zero.
Wypróbuj online!
źródło
) r(
->)r(
.r(int*n){return pow
doR;r(int*n){R=pow
.Julia 0.6 , 30 bajtów
Wypróbuj online!
Jest to funkcja
anonowa ∘ to operator kompozycji.
Jest to wiele bajtów
źródło
Japt
-h
, 7 bajtówWypróbuj online!
Wyjaśnienie:
źródło
Japt
-h
,76 bajtówJeśli dane wejściowe można pobrać w odwrotnej kolejności, pierwszy znak można usunąć.
Ograniczony do
2**53-1
.Spróbuj
Wyjaśnienie
źródło
Galaretka , 6 bajtów
Wypróbuj online!
źródło
Python 2 ,
4543 bajtówWypróbuj online!
źródło
Excel VBA, 60 bajtów
Anonimowa funkcja bezpośredniego okna VBE, która pobiera dane wejściowe z zakresu
[A1:XFD1]
źródło
Stax , 7 bajtów
Uruchom i debuguj
Algorytm jak w mojej odpowiedzi w języku Python
źródło
CJam , 14 bajtów
Powinien działać dla każdego wejścia, ponieważ CJam nie jest ograniczony do 64-bitowych liczb całkowitych
Wypróbuj online!
źródło
Python 3 , 55 bajtów
starsza wersja
źródło
p=lambda...
prawda? Python nie radzi sobie z rekurencyjnymi anonimowymi lambdami, więc jeśli chcesz nazwać swoją funkcję, musi ona być częścią twojego rozwiązania, a nazywanie wlicza się do liczby bajtów dla wyzwań związanych z golfem.Python 3 , 47 bajtów
Wypróbuj online!
źródło
Brain-Flak , 161 bajtów
Obejmuje +1 dla
-r
Wypróbuj online!
Przykład
[3, 4, 2]
trwa dłużej niż 60 sekund, więc wykorzystuje łącze TIO[4, 3, 2]
.-r
Może zostać usunięty, jeśli wejściowy może być wykonane w odwrotnej kolejności licząc od 160 bajtów.źródło
Pari / GP , 32 bajty
Wypróbuj online!
źródło
Z80Golf , 36 bajtów
Wypróbuj online!
Uprząż testowa do pomiaru siły brutalnej
Pobiera dane wejściowe jako surowe bajty. Ograniczone do 2 ** 8-1.
Wyjaśnienie
źródło
Rubin ,
2420 bajtówWypróbuj online!
źródło