Inspirado por esta pergunta .
Dada uma lista contendo números, imprima:
- A soma e o produto dos números na lista
- A média e mediana
- As diferenças entre cada termo na lista (ex
[1,2,3] -> [1,1]: 1+1=2, 2+1=3
) - A lista, classificada em ordem crescente
- O mínimo e o máximo da lista
- O desvio padrão da lista
Para referência:
Desvio padrão
Onde μ é a média média, x i é o i
termo da lista e N
é o comprimento da lista.
O menor código vence. Boa sorte!
code-golf
math
array-manipulation
beary605
fonte
fonte
Respostas:
Q, 41
fonte
J,
7370 caracteresUso:
fonte
TI-BASIC, 41 bytes
1-Var Stats
é um byte , eΣx
,x̄
, etc, são dois bytes cada.Se a alteração da ordem de saída for permitida, um ponto final pode ser salvo, elevando a pontuação para 40 bytes.
fonte
Q (87 caracteres)
por exemplo.
fonte
Ruby 187
Sintaxe de uso:
O[<array>]
(por exemplo,O[[1,2,3]]
)Produz todos os valores necessários para o console, na ordem especificada na pergunta.
Exemplos de IdeOne:
fonte
Scala
208202188:Teste:
fonte
Julia 0.6 , 66 bytes
Experimente online!
Julia 0.6 , 88 bytes (std dev não corrigido, como em op)
Experimente online!
fonte
n-1
) em vez da população std (dividindo porn
) conforme necessário no problema. Multiplicar por(n-1)/n
também não seria corrigido, porque ao dividir porn-1
,NaN
é produzido. Encontrei os mesmos problemas ao tentar fazer isso em R e não pensei nisso desde então.C ++ 14,
340383 bytesComo lambda sem nome genérico. O primeiro parâmetro
L
é a listastd::list
do tipo de ponto flutuante e o segundo parâmetro é o fluxo de saída desejado, comostd::cout
.Compila com um aviso, o C ++ não permite
"
diretamente seguido por literais comoF
. Programa ainda em execução.Ungolfed:
fonte
F
a;F(x)O<<x<<'\n';
ea última linha para:[](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)));}
;
no final. Isso poderia ser removido, mas o compilador não gosta" "F
:warning: invalid suffix on literal; C++11 requires a space between literal and string macro
ele compila embora ...Perl 5 , 204 + 1 = 205 bytes
Experimente online!
fonte
Pyt , 39 bytes
Isso gera, em ordem, a mediana, o produto, as diferenças, a lista revertida, a soma, o máximo e o mínimo, a média e o desvio padrão.q
Experimente online!
Explicação:
fonte
NARS APL, 119 caracteres, 182 bytes
teste
fonte
Ocaml - 288 bytes
Supondo que a lista fornecida seja uma lista não vazia de flutuadores (para evitar conversões) e que a mediana retornada seja a definição fraca da mediana:
A versão legível é
fonte
PHP, 213 bytes
Experimente online .
fonte