O menor código que fornece a área entre a curva p (x) = a 0 + a 1 * x + a 2 * x 2 + ..., a linha y = 0, a linha x = 0 e a linha x = C
(ou seja, algo como isto:
)
Você pode assumir que p (x)> = 0 para x <C (pontos de bônus se o seu código funcionar com valores negativos de p (x)).
Entrada
C, a 0 , a 1 , ...
Resultado
um número real - a área
Exemplo 1:
input: 2, 0, 1
output: 2.0
Exemplo 2:
input: 3.0, 0, 0.0, 2
output: 18
ATUALIZAR:
- C> 0 também é assumido
- a área está entre a curva, y = 0, x = C ex = 0
- a entrada pode ser uma lista de qualquer forma; não necessariamente separado por vírgula.
- a saída pode ser real de qualquer forma (portanto, '18' é uma saída válida, assim como '18 .0 ')
Respostas:
Mathematica: 48 caracteres
.
fonte
Length@#
->Tr[1^#]
. Além disso, você pode omitir@Input[]
e criar uma função.Python -
7163 caracteres:É uma integração simples de uma função polinomial entre
0
eC
. E não testei, mas tenho certeza de que funciona com valores negativos.fonte
input()
hoje :)Haskell, 85 caracteres
fonte
J, 26 caracteres
por exemplo
fonte
d.
uma conjunção não torna muito fácil minhas habilidades iniciantes em J.Ruby, 65 caracteres
O código lê até o final da entrada, não no final da linha. Então você precisa pressionar Ctrl+ Dpara finalizar a entrada. (Insira a entrada usando
echo
ou de um arquivo.)fonte
c=gets(q=",").to_f
e$<.each(q){|a|s+=a.to_f*c**(i+=1)/i}
, salva um caractere ....","
(ou?,
, que é ainda mais curto) a$/
permite omitir o argumento$<.each
. E$<.map
é um caractere menor que$<.each
. ;)C GCC
186182 bytesEste programa fornece uma saída (área) para qualquer curva entre a curva, y = 0, x = C ex = 0. Pode levar coeficientes (
float
também) de 0 a 48 . A primeira entrada aceita éC
seguida por coeficientes. PressioneÈnter
após o último coeficiente.fonte