El código más pequeño que da el área entre la curva p (x) = a 0 + a 1 * x + a 2 * x 2 + ..., la línea y = 0, la línea x = 0 y la línea x = C
(es decir, algo como esto:
)
Puede suponer que p (x)> = 0 para x <C (puntos de bonificación si su código funciona para valores negativos de p (x)).
Entrada
C, a 0 , a 1 , ...
Salida
un número real - el área
Ejemplo 1:
input: 2, 0, 1
output: 2.0
Examen 2:
input: 3.0, 0, 0.0, 2
output: 18
ACTUALIZAR:
- C> 0 también se supone
- el área está entre la curva, y = 0, x = C yx = 0
- la entrada puede ser una lista de cualquier forma; no necesariamente separados por comas.
- la salida puede ser real de cualquier forma (por lo tanto, '18' es una salida válida, al igual que '18 .0 ')
Respuestas:
Mathematica: 48 caracteres
.
fuente
Length@#
->Tr[1^#]
. Además, puede omitir@Input[]
y hacer una función.Python -
7163 caracteres:Es una integración simple de una función polinómica entre
0
yC
. Y no lo he probado, pero estoy bastante seguro de que funciona para valores negativos.fuente
input()
hoy :)Haskell, 85 personajes
fuente
J, 26 caracteres
p.ej
fuente
d.
ser una conjunción no hace que sea muy fácil para mis habilidades de principiante J.Ruby, 65 caracteres
El código se lee hasta el final de la entrada, no al final de la línea. Por lo tanto, debe presionar Ctrl+ Dpara terminar la entrada. (Canalice la entrada usando
echo
o desde un archivo).fuente
c=gets(q=",").to_f
y$<.each(q){|a|s+=a.to_f*c**(i+=1)/i}
, salva una Char ....","
(o?,
, que es aún más corto) a le$/
permite omitir el argumento$<.each
. Y$<.map
es un personaje más corto que$<.each
. ;)C GCC
186182bytesEste programa proporciona una salida (área) para cualquier curva entre la curva, y = 0, x = C yx = 0. Puede tomar coeficientes (
float
también) de un 0 a un 48 . La primera entrada aceptada esC
seguida por coeficientes. PresioneÈnter
después del último coeficiente.fuente