📄 shitanfa.c
字号:
/* Note:Your choice is C IDE */
#include "stdio.h"
double f(double t)
{
double f;
f=t*t-10*t+36;
return f;
}
main()
{
double e=0.0001,l=0.618;
double a1,a2,y1,y2,m,n,ap,yp;
int h0,h;
double a,c,b,p1,p2,p3;
h0=3;
h=h0;
a=0;
p1=f(a);
c=h;
p2=f(c);
if(p2>p1)
{
h=-h;
b=a;
p3=p1;
a=c;
p1=p2;
c=b;
p2=p3;
}
b=c+h;
p3=f(b);
while(p3<p2)
{
h=2*h;
a=c;
p1=p2;
c=b;
p2=p3;
}
printf("The searching region is:\n");
printf("[%f,%f]\n",a,b);
a1=b-l*(b-a);
y1=f(a1);
a2=a+l*(b-a);
y2=f(a2);
do
{
if(y1>=y2)
{
a=a1;
a1=a2;
y1=y2;
a2=a+l*(b-a);
y2=f(a2);
m=(b-a)/b;
n=(y2-y1)/y2;
}
else
{
b=a2;
a2=a1;
y2=y1;
a1=b-l*(b-a);
y1=f(a1);
m=(b-a)/b;
n=(y2-y1)/y2;
}
}while((m<-e||m>e)||(n<-e||n>e));
ap=0.5*(a+b);
yp=f(ap);
printf("The result is:\n");
printf("ap=%f\nyp=%f\n",ap,yp);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -