L'obiettivo è semplice: fornire xall'equazione una soluzione reale diversa da zero sin(x) = -mx, dato l'input m, nel minor numero di byte.
specifiche tecniche:
- La tua risposta deve essere corretta con 3 cifre significative.
- È possibile produrre qualsiasi soluzione reale diversa dalla soluzione banale
x=0. Si può presumeremche esista almeno una soluzione. Puoi anche supporrem!=0.
Una soluzione di pitone ovviamente non ottimale che usa la discesa 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
Casi test
-0.25 -> ±2.4746
-0.1 -> ±2.8523 or ±7.0682 or ±8.4232
0.2 -> ±4.1046 or ±4.9063
x=0è una soluzione banale. È necessario specificare quale soluzione si desidera.
m=0ha soluzioni ( x=kπper intero k). I valori di mcui non hanno soluzioni reali non banali sono quelli che sono troppo lontani 0.
aper risolveresin(x)=-ax. Per favore, non dire "devi effettivamente calcolarlo", poiché requisiti del genere sono troppo vaghi per funzionare.