📄 fibonacc.cpp
字号:
#include<iostream.h>
#include<stdlib.h>
#include<math.h>
void main()
{ double a ,b,l, u, v ,delt,f(double x);int n=0,k,fp(int i);
cout<<"please input a,b and l;"<<endl;
cin>>a>>b>>l;
while(fp(n)<(b-a)/l)
n++;
cout<<"n is"<<n<<endl;
cout<<" pleaes input delt"<<endl;
cin>>delt;
v=a+fp(n-2)*(b-a)/fp(n); //计算第一次的两个试探点//
u=a+fp(n-1)*(b-a)/fp(n);
for(k=1;b-a>=l;k++)
{ if(f(v)>f(u)) //书中的第三步//
{ a=v;
v=u;
u=a+fp(n-k-1)*(b-a)/fp(n-k);
cout<<"a=*"<<a<<" "<<"b="<<b<<endl;
}
else //书中第四步//
{ b=u;
u=v;
v=a+fp(n-k-2)*(b-a)/fp(n-k);
cout<<"a=//"<<a<<" "<<"b="<<b<<endl; }
if(k==n-2) //在k==n-2时,转向书中的第六步//
{ u=v+delt;
if(f(v)>f(u))
{ a=v; cout<<"a=^"<<a<<" "<<"b="<<b<<endl; }
if(f(v)<=f(u))
{b=v; cout<<"a=%"<<a<<" "<<"b="<<b<<endl; }
cout<<0.5*(a+b)<<"the solution is"<<f(0.5*(a+b))<<endl;
exit(0);
}
}
} double f(double x) //函数f(x)的声明及编制//
{ double y;
y=exp(-x)+x*x;
return(y);
}
int fp(int i) //fibonacci函数(递归函数)//
{ if (i==0||i==1)
return 1;
else
return fp(i-1)+fp(i-2);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -