#include<iostream>#include<stdio.h>#include<cmath>using namespace std;//the accuracyconst double delta=1e-4;const int MAX=200;double fib[MAX];//the functiondouble func(double x)...{ return exp(x)+exp(-x);}void calcuFib()...{ fib[0]=fib[1]=1; for(int i=2;i<MAX;i++) fib[i]=fib[i-1]+fib[i-2];}int main()...{ //the interval [a,b] double a=-1,b=1; calcuFib(); int n=0; for(;n<MAX;n++) ...{ if(fib[n]>=(b-a)/delta) ...{ break; } } double s=a+fib[n-2]*1.0/fib[n]*(b-a); double t=a+fib[n-1]*1.0/fib[n]*(b-a); double f1=func(s),f2=func(t); for(int k=2;k<=n;) ...{ printf("f(a=%6.2lf, s=%6.2lf, t=%6.2lf, b=%6.2lf) = %6.4lf, %6.4lf, %6.4lf, %6.4lf) ",a,s,t,b,func(a),func(s),func(t),func(b)); if(f1>f2) ...{ if(b-s<=delta)...{ cout<<t<<endl;break; } a=s;s=t;f1=f2; k++; t=a+fib[n-k]/fib[n-k+1]*(b-a); f2=func(t); } else...{ if(t-a<=delta)...{ cout<<s<<endl;break; } b=t;t=s;f2=f1; k++; s=a+fib[n-k-1]/fib[n-k+1]*(b-a); f1=func(s); } } printf("******************************************************* "); printf("after %d iterators the values reach ",n-1); printf("f(a=%6.2lf, s=%6.2lf, t=%6.2lf, b=%6.2lf) = (%6.4lf, %6.4lf, %6.4lf, %6.4lf) ",a,s,t,b,func(a),func(s),func(t),func(b)); return 0;}