一道JAVA题知道的重谢!无论啥要求都同意!!用无穷序列计算π=4-(4/3)+(4/5)-(4/7)+(4/9)-(4/11
一道JAVA题,用无穷序列计算π=4-(4/3)+(4/5)-(4/7)+(4/9)-(4/11)+…。打印一张分别有由上面序列中第1项、第2项、第3项等近似计算出的π的...
一道JAVA题,用无穷序列计算π=4-(4/3)+(4/5)-(4/7)+(4/9)-(4/11)+…。
打印一张分别有由上面序列中第1项、第2项、第3项等近似计算出的π的值。在第一次得到3.14,3.141,3.1415,3.14159这些值之前分别用了几项?试估算项数为1000和1000000时的计算时间是多少?主要是后面的求时间和项数 展开
打印一张分别有由上面序列中第1项、第2项、第3项等近似计算出的π的值。在第一次得到3.14,3.141,3.1415,3.14159这些值之前分别用了几项?试估算项数为1000和1000000时的计算时间是多少?主要是后面的求时间和项数 展开
1个回答
展开全部
怎么问了2次,记得2个问题都采纳哦!!!
1000次:
第1000项:3.140592653839794
3.140592653839794
109毫秒
100W次:
第1000000项:3.1415916535897743
3.1415916535897743
30203毫秒
import java.util.Date;
public class Pai {
public double cal(int n){
double result=4;
System.out.println("第1项:"+result);
for(int i=1;i<n;i++){
int a=(int)(Math.pow(-1d, (double)i)*(i*2+1));
result=result+4d/(double)a;
System.out.println("第"+(i+1)+"项:"+result);
}
return result;
}
public static void main(String[] args){
Pai pai=new Pai();
Date start=new Date();
//修改次数
double pi=pai.cal(1000000);
Date end=new Date();
long time=end.getTime()-start.getTime();
System.out.println(pi);
System.out.println(time+"毫秒");
}
}
1000次:
第1000项:3.140592653839794
3.140592653839794
109毫秒
100W次:
第1000000项:3.1415916535897743
3.1415916535897743
30203毫秒
import java.util.Date;
public class Pai {
public double cal(int n){
double result=4;
System.out.println("第1项:"+result);
for(int i=1;i<n;i++){
int a=(int)(Math.pow(-1d, (double)i)*(i*2+1));
result=result+4d/(double)a;
System.out.println("第"+(i+1)+"项:"+result);
}
return result;
}
public static void main(String[] args){
Pai pai=new Pai();
Date start=new Date();
//修改次数
double pi=pai.cal(1000000);
Date end=new Date();
long time=end.getTime()-start.getTime();
System.out.println(pi);
System.out.println(time+"毫秒");
}
}
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询