ACM常用算法(9)

发布时间:2021-06-06

ACM常考算法

if (l!=0) pi[1]=-pi[1]; for (i=2; i<=n-1; i++) {

p=pr[i-1]*pr[1]; q=pi[i-1]*pi[1];

s=(pr[i-1]+pi[i-1])*(pr[1]+pi[1]); pr[i]=p-q; pi[i]=s-p-q; }

for (it=0; it<=n-2; it=it+2) {

vr=fr[it]; vi=fi[it];

fr[it]=vr+fr[it+1]; fi[it]=vi+fi[it+1];

fr[it+1]=vr-fr[it+1]; fi[it+1]=vi-fi[it+1]; }

m=n/2; nv=2;

for (l0=k-2; l0>=0; l0--) {

m=m/2; nv=2*nv;

for (it=0; it<=(m-1)*nv; it=it+nv) for (j=0; j<=(nv/2)-1; j++) {

p=pr[m*j]*fr[it+j+nv/2]; q=pi[m*j]*fi[it+j+nv/2]; s=pr[m*j]+pi[m*j];

s=s*(fr[it+j+nv/2]+fi[it+j+nv/2]); poddr=p-q; poddi=s-p-q;

fr[it+j+nv/2]=fr[it+j]-poddr; fi[it+j+nv/2]=fi[it+j]-poddi; fr[it+j]=fr[it+j]+poddr; fi[it+j]=fi[it+j]+poddi; } }

if (l!=0)

for (i=0; i<=n-1; i++) {

fr[i]=fr[i]/(1.0*n); fi[i]=fi[i]/(1.0*n); } if (il!=0)

for (i=0; i<=n-1; i++) {

pr[i]=sqrt(fr[i]*fr[i]+fi[i]*fi[i]); if (fabs(fr[i])<0.000001*fabs(fi[i])) {

if ((fi[i]*fr[i])>0) pi[i]=90.0; else pi[i]=-90.0; } else

pi[i]=atan(fi[i]/fr[i])*360.0/6.283185306; } return; }

10.Ronberg算法计算积分

语法:result=integral(double a,double b);

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

精彩图片

热门精选

大家正在看

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

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

支付方式:

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

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