vb,求π的近似值 π 4=1-1 3 1 5-1 7
来源:学生作业帮助网 编辑:作业帮 时间:2024/05/13 14:41:46
公式:π/4=1-1/3+1/5-1/7+...求值n=0sn=0an=1dountilABS(an)
1、循环前面加一条:pi=02、i=-1改为i=-1*i
应该是Pi/4=1-1/3+1/5-1/7+…+(-1)^(n-1)/(2*n-1)吧,PrivateSubForm_Load()DimPiAsSingle,iAsLongForm1.AutoRedr
#include<stdio.h>main(){ longi,a=1,b=3; doublep=1,t=1,t1=0; while(t-t1>=1e-8
这个是精确度的问题.因为本来式子就是近似运算.改成%.8lf能看到结果是3.14159245.也就是说这个估算的式子在0.0000001这边的精确度不够.我在while后面的条件里又加了一个0,结果如
DimsAsInteger,nAsintegerDimtAssingle,piAssingles=1:t=1:n=1:pi=0DoWhileAbs(t)>0.0001pi=pi+tn=n+2s=-st
你给的公式不对!应该是π/2=2^2/1*3×4^2/3*5×.×(这个公式求的精度不高!代码如下:DimPI1AsDoubleDimPI2AsDoubleDimTempAsDoubleDimnAsD
PrivateSubForm_Load()Fori=1To50n=1Forj=2Toin=n*jNexts=s+1/nNextMsgBoxsEndSu
#include<stdio.h>void main (void){int i,j,k=-1;float p=0.0;for (i=
假设级数表达式为f(i),随i值的变化而减小,则可在循环时利用级数f(i)和f(i-1)的差值来与10^-6比较,当两次计算的结果满足dpp=Abs(dc)b=b*-1n=n+1mv=rad^(2*(
DimaAsDoubleDimsAsDoubleDimeAsSingleDimtAsSinglea=1s=1e=1DoWhile1/s>=10^(-0.4)s=s*at=1/se=e+ta=a+1Lo
DimsignAsInteger,aAsLong,piAsDoublesign=-1Fori=1To100000a=2*i-1sign=-1*signpi=pi+(1/a)*signNextpi=pi
亲都出来了...这个要填的是一个循环结束的标志这个标志你可以让产生的t无限的接近0所以,你可以用t>=1e-6当然因为这里可能是负数,所以加一个绝对值.就像楼上所说你也可以把n到达无限大(也就是一个很
Privatefunctione()Dime1,n,jcn=0e1=1jc=1Don=n+1jc=n*jce1=e1+1/jcLoopUntil1/jc
PrivateSubCommand1_Click()a=1Don=n+1m=2*n-1s=s+a*1/ma=-aLoopUntilAbs(1/m)pi=4*sPrint"pi="&piEndSu
PrivateSubCommand1_Click()x=InputBox("请输入x:")s=1fact=1Doi=i+1fact=fact*it=x^i/facts=s+tLoopUntilt
PrivateSubForm_Click()Dimi&,PI#Doi=i+1PI=PI+(-1)^(i-1)/(2*i-1)LoopUntil1/iPI=PI*4Print"π=";PIEndSu
functionjiecheng(iasinteger)asdoubleforj=1toijiecheng*=inextendfunctiondime=0dimi=0doe+=1/jiecheng(i
PrivateSubCommand1_Click()DimNAsDouble,PiAsDoublePi=2ForN=1To1000Pi=Pi*(2*N)^2/((2*N-1)*(2*N+1))IfN=
PrivateSubCommand1_Click()Dimn,pi,ipi=2n=Val(InputBox("请输入一个数"))Fori=1Tonpi=pi*((2*i)^2/((2*i-1)*(2*