O objetivo é simples: gerar uma solução real diferente de zero xpara a equação sin(x) = -mx, dada a entrada m, no menor número de bytes.
Especificações:
- Sua resposta deve estar correta para 3 algarismos significativos.
- Você pode produzir qualquer solução real que não seja a trivial
x=0. Você pode assumirmque existe pelo menos uma solução. Você também pode assumirm!=0.
Uma solução python obviamente abaixo do ideal usando descida 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 teste
-0.25 -> ±2.4746
-0.1 -> ±2.8523 or ±7.0682 or ±8.4232
0.2 -> ±4.1046 or ±4.9063
x=0é uma solução trivial. Você deve especificar qual solução deseja.
m=0tem soluções ( x=kπpara inteiro k). Os valores dos mquais não têm soluções reais não triviais são aqueles que estão muito longe 0.
ade resolversin(x)=-ax. Por favor, não diga "você precisa calculá-lo", pois requisitos como esse são vagos demais para funcionar.