W tym kodzie golfowym musisz uzyskać najbliższy numer z innego na liście.
Wyjście może być liczbą najbliższą wejściu.
Przykład:
value: (Input) 5 --- [1,2,3] --- 3
Program może działać z liczbami ujemnymi.
Przykład:
value: (Input) 0 --- [-1,3,5] --- -1
value: (Input) 2 --- [1, 5, 3] --- 1 (Because it gives priority to lower numbers)
ZASADY:
Jak wspomniano wcześniej, musi działać z liczbami ujemnymi.
Jeśli są dwie odpowiedzi (Przykład: 0 - [5, -5]), program nadaje priorytet najniższej liczbie. (-5)
To jest kod golfowy, więc wygrywa najkrótszy kod!
code-golf
math
number
array-manipulation
AlexINF
źródło
źródło
Odpowiedzi:
Pyth, 6 bajtów
Zestaw testowy
Wprowadź w następującym formularzu na STDIN:
Wyjaśnienie:
źródło
Rubinowy, 34 bajty
źródło
->n,a{a.min_by{|x|(n-x).abs}}
Mathematica, 12 bajtów
Wbudowane FTW! Wyjaśnienie Buettnera: „Mathematica ma do tego wbudowaną funkcję
Nearest
, ale zwraca listę wszystkich powiązanych liczb. Dlatego musimy ją skomponować,Min
aby zerwać remis”.źródło
Pyth, 8 bajtów
Wyjaśnienie
Wypróbuj online!
źródło
JavaScript ES6,
645654 bajtówWypróbuj online
Dzięki @Niel za zapisanie dwóch bajtów
Fragment testowy:
źródło
(i,a)=>a.sort((a,b)=>s(i-a)-s(i-b)||a-b,s=Math.abs)[0]
i=>a=>...
czymf(i)(a)
jest, jak to nazwać.input
i listę / tablicę / ... jako liczby całkowiteGalaretka,
76 bajtówWypróbuj online!
Jak to działa
źródło
MATL , 10 bajtów
Wypróbuj online!
źródło
Python 2, 56 bajtów
Najpierw pobiera numer docelowy
a=input()
- należy go zapisać w zmiennej.Następnie sortuje dane wejściowe z
lambda x:abs(a-x)
zastosowaną funkcją (pomyślmap(lambda x:abs(a-x), input())
)Następnie przyjmuje minimalną wartość w przypadku jakichkolwiek zduplikowanych wartości
źródło
TeaScript, 10 bajtów
TeaScript nie obsługuje wprowadzania danych z tablicy, więc w trakcie uruchamiania konsoli:
TeaScript("T#y-la)░", [[1, 2, 3], 1], {}, TEASCRIPT_PROPS)
to runthis.Wyjaśnienie
źródło
R, 42 bajty
źródło
Haskell, 38 bajtów
Przykład użycia:
2 # [1,5,3]
->1
.Dla każdego elementu na liście wejściowego
l
utworzyć parę bezwzględnej różnicy elementu do liczby wejściowyche
i samego elementu, na przykłade=2
,l=[1,5,3]
->[(1,1),(3,5),(1,3)]
. Znajdź minimum i odrzuć różnicę.źródło
zsh,
7573717067 bajtówOczekuje danych wejściowych jako argumentów wiersza poleceń.
Zauważ, że cztery spacje w
echo
rzeczywistości mają być tabulatorem, ale Stack Exchange konwertuje tabulatory na spacje we wszystkich postach.Nie jest kompatybilny z Bash ze względu na
for
składnię.Dzięki dev-null za 2 bajty!
źródło
Perl 6 , 31 bajtów
Stosowanie:
źródło