Zainspirowany tym pytaniem .
Na liście zawierającej liczby wydrukuj:
- Suma i iloczyn liczb na liście
- Średnia i mediana
- Różnice między każdym terminem na liście (ex
[1,2,3] -> [1,1]: 1+1=2, 2+1=3
) - Lista posortowana rosnąco
- Minimalna i maksymalna lista
- Odchylenie standardowe listy
Na przykład:
Odchylenie standardowe
Gdzie μ jest średnią średnią, x i jest i
th terminem na liście i N
jest długością listy.
Najkrótszy kod wygrywa. Powodzenia!
code-golf
math
array-manipulation
beary605
źródło
źródło
Odpowiedzi:
P 41
źródło
J,
7370 znakówStosowanie:
źródło
TI-BASIC, 41 bajtów
1-Var Stats
jest jeden bajt , aΣx
,x̄
itp są dwa bajty każda.Jeśli zmiana kolejności wyjściowej jest dozwolona, można zapisać pare ścisłe, zwiększając wynik do 40 bajtów.
źródło
Q (87 znaków)
na przykład.
źródło
Rubinowy 187
Składnia użycia:
O[<array>]
(na przykładO[[1,2,3]]
)Wysyła wszystkie wymagane wartości do konsoli, w kolejności określonej w pytaniu.
Przykłady IdeOne:
źródło
Scala
208202188:Test:
źródło
Julia 0.6 , 66 bajtów
Wypróbuj online!
Julia 0.6 , 88 bajtów (niepoprawiony std dev, jak w op)
Wypróbuj online!
źródło
n-1
) zamiast standardowej populacji (dzielenie przezn
) zgodnie z wymaganiami problemu. Mnożąc przez(n-1)/n
nie go naprawić albo, ponieważ kiedy podzielenie przezn-1
,NaN
jest produkowany. Napotkałem te same problemy, próbując to zrobić w R i od tego czasu nie zastanawiałem się nad tym.C ++ 14,
340383 bajtówJako ogólna nienazwana lambda. Pierwszy parametr
L
to listastd::list
typu zmiennoprzecinkowego, a drugi parametr to pożądany strumień wyjściowy, na przykładstd::cout
.Kompiluje się z ostrzeżeniem, C ++ nie pozwala
"
bezpośrednio po literałach takich jakF
. Program nadal działa.Nie golfowany:
źródło
F
się;F(x)O<<x<<'\n';
i ostatni wiersz do:[](A L,A&O){A S=L;A l=L.begin(),k=l;A n=L.size();A s=*l,p=s,d=s*s,h=n/2.;for(S.sort(),Y s+=*l,p*=*l,d+=*l**l);for(l=S.begin();--h>0;++l)F(s)F(p)F(s/n)F(*l)for(Y)O<<*l-*k++<<","F(' ')for(A x:S)O<<x<<","F(' ')F(S.front())F(S.back())F(sqrt((d-s*s/n)/(n-1)));}
;
. Można to usunąć, ale kompilator nie lubi" "F
:warning: invalid suffix on literal; C++11 requires a space between literal and string macro
chociaż się kompiluje ...Perl 5 , 204 + 1 = 205 bajtów
Wypróbuj online!
źródło
Pyt , 39 bajtów
Daje to, w kolejności, medianę, iloczyn, różnice, odwróconą listę, sumę, maksimum i minimum, średnią i odchylenie standardowe. Q
Wypróbuj online!
Wyjaśnienie:
źródło
APL NARS, 119 znaków, 182 bajty
test
źródło
Ocaml - 288 bajtów
Zakładając, że podana lista jest niepustą listą liczb zmiennoprzecinkowych (aby uniknąć konwersji), a zwrócona mediana jest słabą definicją mediany:
Wersja do odczytu to
źródło
PHP, 213 bajtów
Wypróbuj online .
źródło