ACM常用算法(10)

发布时间:2021-06-06

ACM常考算法

参数:

a: 积分上限 b: 积分下限 function

积分函数 f:

返回值: f在(a,b)之间的积分值 注意: 源程序:

function f(x)需要自行修改,程序中用的是sina(x)/x 需要 math.h 默认精度要求是1e-5

double f(double x) {

return sin(x)/x; //在这里插入被积函数 }

double integral(double a,double b) {

double h=b-a;

double t1=(1+f(b))*h/2.0; int k=1;

double r1,r2,s1,s2,c1,c2,t2; loop:

double s=0.0;

double x=a+h/2.0; while(x<b) {

s+=f(x); x+=h; }

t2=(t1+h*s)/2.0; s2=t2+(t2-t1)/3.0; if(k==1) {

k++;h/=2.0;t1=t2;s1=s2; goto loop; }

c2=s2+(s2-s1)/15.0; if(k==2){

c1=c2;k++;h/=2.0; t1=t2;s1=s2; goto loop; }

r2=c2+(c2-c1)/63.0; if(k==3){

r1=r2; c1=c2;k++; h/=2.0;

t1=t2;s1=s2; goto loop; }

while(fabs(1-r1/r2)>1e-5){ r1=r2;c1=c2;k++; h/=2.0;

ACM常用算法(10).doc 将本文的Word文档下载到电脑

精彩图片

热门精选

大家正在看

× 游客快捷下载通道(下载后可以自由复制和排版)

限时特价:7 元/份 原价:20元

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219