El objetivo es simple: generar una solución real distinta de cero x
para la ecuación sin(x) = -mx
, dada la entrada m
, en la menor cantidad de bytes.
Especificaciones:
- Su respuesta debe ser correcta a 3 cifras significativas.
- Puede generar cualquier solución real que no sea la solución trivial
x=0
. Puede suponer quem
es tal que existe al menos una solución. También puedes asumirm!=0
.
Una solución de Python obviamente subóptima que usa descenso de gradiente :
from math import *
from random import *
a=x=0.001
m = 5.
def dE(x):return 2*(sin(x)+m*x+1)*(cos(x)+m)
for i in xrange(1000): x-=dE(x)*a
print x
Casos de prueba
-0.25 -> ±2.4746
-0.1 -> ±2.8523 or ±7.0682 or ±8.4232
0.2 -> ±4.1046 or ±4.9063
x=0
es una solución trivial. Debe especificar qué solución desea.
m=0
tiene soluciones ( x=kπ
para enteros k
). Los valores m
que no tienen soluciones reales no triviales son aquellos que están demasiado lejos 0
.
a
resolversin(x)=-ax
. Por favor, no diga "realmente tiene que calcularlo", ya que requisitos como ese son demasiado vagos para funcionar.