Mục tiêu rất đơn giản: Đưa ra một giải pháp thực khác x
cho phương trình sin(x) = -mx
, đầu vào đã cho m
, với số lượng byte ít nhất.
Thông số kỹ thuật:
- Câu trả lời của bạn phải chính xác đến 3 con số quan trọng.
- Bạn có thể xuất ra bất kỳ giải pháp thực tế nào ngoài giải pháp tầm thường
x=0
. Bạn có thể giả sửm
là có ít nhất một giải pháp tồn tại. Bạn cũng có thể giả địnhm!=0
.
Một giải pháp python tối ưu rõ ràng bằng cách sử dụng độ dốc giảm dần :
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
Các trường hợp thử nghiệm
-0.25 -> ±2.4746
-0.1 -> ±2.8523 or ±7.0682 or ±8.4232
0.2 -> ±4.1046 or ±4.9063
x=0
là một giải pháp tầm thường. Bạn nên chỉ định giải pháp nào bạn muốn.
m=0
có giải pháp ( x=kπ
cho số nguyên k
). Các giá trị m
không có giải pháp thực tế không tầm thường là những giải pháp quá xa vời 0
.
a
giải quyếtsin(x)=-ax
. Xin đừng nói "bạn phải thực sự tính toán", vì các yêu cầu như thế quá mơ hồ để có thể làm việc.