Dado un polinomio en una variable con coeficientes racionales, genera una expresión equivalente que contiene solo 1
variables e integrales definidas. Por ejemplo, - x 2 puede expresarse como ∫ x ∫ 1 1 1d t x d u .
E := 1 | var | ∫EEEdvar
Se permite cualquier método de entrada / salida razonable.
Ejemplos:
Su puntaje será la longitud de su código multiplicado por el número de ∫
símbolos utilizados en los casos de prueba. Debería poder calificar su programa. La puntuación más baja gana.
Casos de prueba:
4/381*x^2+49/8*x^3-17/6
311/59*x^2-92/9*x^3-7/15*x
333/29*x^3+475/96*x^8
Jugar al golf va a ser difícil, porque no puedo jugar solo el código o solo el resultado, y por lo tanto no sé si un cambio me ayudará o perjudicará mi puntaje hasta que lo intente, lo que en mi opinión apesta.
No dejes que el puntaje restrinja tu creación. Le invitamos a responder con principalmente una parte de la puntuación bien optimizada, incluso si la otra se fue mal.
chr(8747)
(o equivalente) a una variable, y usándola como el signo, incurriendo en cero ocurrencias del símbolo. Recomiendo encarecidamente hacer de este un desafío de golf de código vainilla.0=[1,1,1]
, todavía se cuenta como "1∫
". Por lo tanto, solo puede obtener 0 puntaje en el caso de prueba1
yx
Respuestas:
Python 2 , 315 bytes * 5113 = puntaje 1610595
Todavía estoy trabajando en jugar golf. Jugar al golf va a ser difícil, porque no puedo jugar solo el código o solo el resultado, y por lo tanto no sé si un cambio me ayudará o perjudicará mi puntaje hasta que lo intente, lo que en mi opinión apesta.
A pesar de la molestia de jugar al golf, disfruté el cálculo.
Pruébalo en línea!
Ejecute todos los casos de prueba : para puntuar, cuente todos
[
en la salida.El polinomio de entrada se toma como una lista de pares de coeficientes (numerador, denominador) en orden de menor a mayor potencia de
x
.(0, 1)
(cero) se usa para las potencias faltantes.La salida se da con cada integral representada por una lista
[f,t,a,b]
para representar ∫ a b f d tVerificación
Aquí hay una versión ligeramente menos desarrollada que genera una sintaxis de Mathematica válida para la integración, que puede probarse en un cuaderno en línea. Desafortunadamente, los programas de tamaño decente no se completarán en un cuaderno gratuito.
Vaya aquí , desplácese hasta la parte inferior, "Crear nuevo bloc de notas", pegue (Wolfram Language Input) y evalúe (Shift + Enter) (tenga en cuenta que el uso del teclado numérico Enter no funciona) .
Explicación
Utiliza estas ecuaciones:
Enlaces
Herramienta que convierte la salida a funciones anidadas de Mathematica
Herramienta que convierte la salida a Mathematica, evitando la recursividad
Ejecute la salida de Mathematica en TIO
Imágenes de ecuaciones hechas con esta herramienta .
fuente
Z(n)
comodef Z(n):return N(Z(-n)) if n<0 else[1,t,1,1] if n<1 else 1 if n<2 else[1,t,N(1),Z(n-1)]
?Z=lambda n:N(Z(-n))if n<0else[1,t,N(1),Z(n-1)]if n>1else[[1,t,1,1],1][n]
JavaScript (Node.js) , 152 bytes * integrales 5113 = puntaje 777176
Pruébalo en línea!
Utiliza principalmente estas dos ecuaciones:
fuente
JavaScript (Node.js) , 220 bytes * 616 integrales = puntaje 135520
Pruébalo en línea!
fuente
function unpack(x) { return x instanceof Array ? `\\int_{${unpack(x[2])}}^{${unpack(x[3])}}${unpack(x[0])}\\text d${unpack(x[1])}` : x }; console.log (unpack(F([[0, 1], [-7, 15], [311, 59], [-92, 9]])).replace(/\{(.)\}/g,'$1'));