exp(sin(50x))
+ sin(60ey)
+ sin(70 sin(x)) +
+ sin(sin(80y))
- sin(10(x + y))
+ ¼ (x² + y²) ?
The following solution was supplied by Brian Medley, who remarks:
The program below is unpolished and adds little to Marijke's solution, but it did provide a cross-check to her answer just before the competition deadline.
10 screen 823 20 read Xmin,Xmax,Ymin,Ymax 30 read B1,B2,B3,B4,B5,B6,B7 40 Minimum=0 50 screen 823 60 for I=1 to 800 61 X=(I-1)*(Xmax-Xmin)/799+Xmin 65 Fx=exp(sin(50*X))+sin(70*sin(X)) 70 for J=1 to 600 71 Y=(J-1)*(Ymax-Ymin)/599+Ymin 75 Fy=sin(60*exp(Y))+sin(sin(80*Y)) 100 F=Fx+Fy-sin(10*(X+Y))+0.25*(X*X+Y*Y) 110 if FB1 then C=0:goto 200 130 if F>B2 then C=6:goto 200 140 if F>B3 then C=7:goto 200 150 if F>B4 then C=5:goto 200 160 if F>B5 then C=1:goto 200 170 if F>B6 then C=2:goto 200 180 if F>B7 then C=3:goto 200 190 C=4:goto 200 200 pset (I,J),C 210 next J 220 next I 230 locate 65,0:print Minimum 240 Dx=Xmax-Xmin:Dy=Ymax-Ymin 250 Xmin=Xm-0.25*Dx 260 Xmax=Xm+0.25*Dx 270 Ymin=Ym-0.25*Dy 280 Ymax=Ym+0.25*Dy 290 X=Xmax:Y=Ymax 300 Max=exp(sin(50*X))+sin(60*exp(Y))+sin(70*sin(X))+sin(sin(80*Y))-sin(10*(X+Y))+0.25*(X*X+Y*Y) 310 Ste=(Max-Minimum)/6 320 B1=Max:B2=B1-Ste:B3=B2-Ste:B4=B3-Ste:B5=B4-Ste:B6=B5-Ste:B7=B6-Ste:goto 40 330 input Z 340 if Z=-1 then Ymax=Ymaxo:Ymin=Ymino:Xmax=Xmaxo:Xmin=Xmino:goto 40 350 Ymaxo=Ymax:Ymino=Ymin:Xmaxo=Xmax:Xmino=Xmin 360 if Z=1 then Ymin=(Ymin+Ymax)/2:Xmax=(Xmin+Xmax)/2:goto 40 365 if Z=2 then Ymin=(Ymin+Ymax)/2:Xmin=(3*Xmin+Xmax)/4:Xmax=(Xmin+3*Xmax)/4:goto 40 370 if Z=3 then Ymin=(Ymin+Ymax)/2:Xmin=(Xmin+Xmax)/2:goto 40 375 if Z=4 then Xmax=(Xmin+Xmax)/2:Ymin=(3*Ymin+Ymax)/4:Ymax=(Ymin+3*Ymax)/4:goto 40 377 if Z=5 then Xmin=(3*Xmin+Xmax)/4:Xmax=(Xmin+3*Xmax)/4:Ymin=(3*Ymin+Ymax)/4:Ymax=(Ymin+3*Ymax)/4:goto 40 379 if Z=6 then Xmin=(Xmin+Xmax)/2:Ymin=(3*Ymin+Ymax)/4:Ymax=(Ymin+3*Ymax)/4:goto 40 380 if Z=7 then Ymax=(Ymin+Ymax)/2:Xmax=(Xmin+Xmax)/2:goto 40 385 if Z=8 then Ymax=(Ymin+Ymax)/2:Xmin=(3*Xmin+Xmax)/4:Xmax=(Xmin+3*Xmax)/4:goto 40 390 if Z=9 then Ymax=(Ymin+Ymax)/2:Xmin=(Xmin+Xmax)/2:goto 40 400 data -4,4,-3,3 410 data 1,0,-1,-1.5,-2,-2.5,-3 420 data -0.0245061328125,-0.02438406250,0.21004980468750,0.210957453125