目标很简单:x在sin(x) = -mx给定输入的情况下m,以最少的字节数输出方程的非零实解。
规格:
- 您的答案必须是3位有效数字的正确答案。
- 您可以输出除平凡解决方案以外的任何实际解决方案
x=0。您可以假设m存在至少一种解决方案。您也可以假设m!=0。
一个使用梯度下降的明显次优的python解决方案:
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
测试用例
-0.25 -> ±2.4746
-0.1 -> ±2.8523 or ±7.0682 or ±8.4232
0.2 -> ±4.1046 or ±4.9063
另外,这
—
xnor
x=0是一个简单的解决方案。您应指定所需的解决方案。
您需要对m进行某些限制以确保非零解。
—
xnor
m=0有解决方案(x=kπ用于整数k)。其值m没有非平凡的实解是那些离太远的值0。
您是否仅在寻找实值解决方案或是否允许复值解决方案?
—
英里
aresolvesin(x)=-ax。请不要说“您必须实际计算”,因为这样的要求太含糊而无法工作。