手机版

ACM常用算法(10)

时间:2025-07-01   来源:未知    
字号:

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文档下载到电脑,方便复制、编辑、收藏和打印
×
二维码
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)