📄 method_0.618.cpp
字号:
#include<iostream.h>
#include<math.h>
void main()
{
double ak,bk,langk,miuk;
double L;
double flangk,fmiuk;
int sn=0;
ak=-1;
bk=1;
L=0.16;
langk=ak+0.382*(bk-ak);
miuk=ak+0.618*(bk-ak);
flangk=2*pow(langk,2)-langk-1;
fmiuk=2*pow(miuk,2)-miuk-1;
for(int i=0;i<10;i++)
{
if((bk-ak)<L) break;
if(flangk>fmiuk) sn=3;
else
sn=4;
switch(sn)
{
case 3:
ak=langk;langk=miuk;
flangk=fmiuk;
miuk=ak+0.618*(bk-ak);
fmiuk=2*pow(miuk,2)-miuk-1;
continue;
case 4:
bk=miuk;miuk=langk;
fmiuk=flangk;
langk=ak+0.382*(bk-ak);
flangk=2*pow(langk,2)-langk-1;
continue;
}
}
cout<<ak<<"\t"<<bk<<endl<<endl;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -