当前位置: > 黄金>正文

用C语言编写黄金分割法f(x)=x2+2x程序 黄金分割真的有用吗

2023-03-20 03:59:47 互联网 未知 黄金

#include "math.h"
#include "stdio.h"
#define f(x) x*x+2*x
double calc(double *a,double *b,double e,int *n)
{ double x1,x2,s;
if(fabs(*b-*a)<=e)
s=f((*b+*a)/2);
else
{ x1=*a+0.382*(*b-*a);
x2=*a+0.618*(*b-*a);
if(f(x1)>f(x2))
*a=x1;
else
*b=x2;
*n=*n+1;
s=hj(a,b,e,n);
}
return s;
}
main()
{ double s,a,b,e;
int n=0;
scanf("%lf %lf %lf",&a,&b,&e);
s=calc(&a,&b,e,&n);
printf("a=%lf,b=%lf,s=%lf,n=%d ",a,b,s,n);
}

版权声明: 本站仅提供信息存储空间服务,旨在传递更多信息,不拥有所有权,不承担相关法律责任,不代表本网赞同其观点和对其真实性负责。如因作品内容、版权和其它问题需要同本网联系的,请发送邮件至 举报,一经查实,本站将立刻删除。