永发信息网

用java编写下面的程序

答案:4  悬赏:60  手机版
解决时间 2021-04-14 16:37

下列级数可近似计算π:4(1-1/3+1/5-1/7+1/9-…-1/(2*i-1)+1/(2*i+1))

编写程序,分别求i为10,100,1000时π的值。

最佳答案
public class test {

static double getPI( int n )
{
double pi = 0;
int i, k = 1;
for ( i = 1; i <= n; ++i ) {
pi += 1.0 / (2*i-1) * k;
k = -k;
}
return pi*4;
}
public static void main(String[] args) {
System.out.println( "i=10, PI=" + getPI( 10 ) );
System.out.println( "i=100, PI=" + getPI( 100 ) );
System.out.println( "i=1000, PI=" + getPI( 1000 ) );
}
}
全部回答

这类题就是求解通项公式,然后做Sum求和即可。

通项公式是(-1)^i 1/2*i+1)) 如果不习惯使用math包中的指数计算,就直接判断i的奇偶性,即可

public class compute{

public static float equation(int i){

int a = -1;

if(i%2==0){

a = 1;

}

return a*(1/(2*i+1));

}

public static float sum(int end){

float sum = 0.0f;

for(int i=0;i<=end;i++){

sum += equation(i);

}

}

public static void main(String[] args){

System.out.println(4*sum(10));

System.out.println(4*sum(100));

System.out.println(4*sum(1000));

}

}

public class Test { public static void main( String[] args ){ System.out.println(method(10)); System.out.println(method(100)); System.out.println(method(1000)); } public static double method(int num){ int i = num-1; if(i==0){ return 1-1/3D; } return method(num-1)-(1/(2D*i-1))+(1/(2D*i+1)); } }

int t=0;

int max=11; //也就是你的I值 10 100 1000 +1

for (int i=0;i<max;i++){

if(i/2==0){

t+=1/(i*2+1);

}

else{

t-=1/(i*2+1);

}

}

t*=4;

搞定,t 就是你要的值了,你只要把MAX改下就OK了,给俺分吧

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
现实中男朋友重要 还是父母重要?
单选题2008年3月15日,全国人大通过了国务院
寻仙【控火】 任务~!!!!
阐述速度与力度在音乐中的表现与作用
DNF狂战练级
我发现爸爸老了句子,写爸爸老的句子当什么都
怎样能克服害羞和紧张,比如学校要同学上台表
同学们7月6日放暑假,9月1日到校上课,暑假共
急求一首歌,急求
女人为什么要吸烟
发简历邮件正文怎么写,寄简历时,邮件中应说
怎样才有女人味?
黔西大酒店这个地址在什么地方,我要处理点事
100的第一刀剑有多少伤害还有孩子的问题
为什么我总是失眠, 我该怎么办?
推荐资讯
为什么我每次从家里走的时候都是大雾天气啊?
已知(x+y)(x+y+2)=8,则x+y-1的值是_____
电源是400W的,是不是电庄的符不够?
如图所示,晓雯在二胡演奏时,用弓拉动琴弦,
老婆老以为我不爱她,怎么办?
呼伦贝尔海拉尔河里的贝壳能吃吗?我在河里捞
一分钟 用韩语 自我介绍
装修用金鱼牌油漆和涂料好不好
上飞机液体是每样不超过100毫升吗
熟料结球夹生怎么回事
企业美誉度的作用
简答世界人种及主要分布地.
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?