用Java计算圆周率

PI=(1-1/3+1/5-1/7+1/9……)*4循环次数越多,精确度越高,本例循环2000次2、for循环(25-30分钟)A.依赖知识点:运算符B.功能描述:计算圆... PI=(1-1/3+1/5-1/7+1/9……)*4循环次数越多,精确度越高,本例循环2000次
2、 for循环(25-30分钟)
A. 依赖知识点:
运算符
B. 功能描述:
计算圆周率,并打印。
一定要用java.
2、 for循环(25-30分钟)
A. 依赖知识点:
运算符
B. 功能描述:
计算圆周率,并打印。
C. 项目结构:

D. 提示:
公式:PI=(1-1/3+1/5-1/7+1/9……)*4循环次数越多,精确度越高,本例循环2000次。
E. 控制台示例:
展开
 我来答
趣事情
2015-10-10 · 知道合伙人互联网行家
趣事情
知道合伙人互联网行家
采纳数:517 获赞数:5452
电脑技术,软件开发。移动开发。网站建设相关专业知识。都可以提供解答和相关技术指导。

向TA提问 私信TA
展开全部
代码如下:
//圆周率 π = 4∑(k=0,..∞)(-1)^k/(2k+1)

//π = 3.14159265358979323846

public class yzq {

public static void main(String[] args) {
// TODO Auto-generated method
stub
int n=0;
double a=0;

for (n=0;n<=10000000;n++ )
{
a = a + 4*Math.pow(-1,n)/(2*n+1);
System.out.println("第 "+n+"

"+a);
}

System.out.println("最后一位
"+a);

}
}

//程序运行结果

//第10
次计算

3.232315809405594
//第100
次计算

3.1514934010709914
//第1000
次计算
3.1425916543395442
//第10,000
次计算
3.1416926435905346
//第100,000
次计算
3.1416026534897203
//第1000,000
次计算
3.1415936535887745
//第10,000,000次计算
3.1415927535897814

//第100,000,000次计算
3.141592643589326

//第999,999,990次计算

3.1415926545880506
//第999,999,991次计算
3.1415926525880504
//第999,999,992次计算

3.1415926545880506
//第999,999,993次计算
3.1415926525880504
//第999,999,994次计算
3.1415926545880506
//第999,999,995次计算
3.1415926525880504
//第999,999,996次计算
3.1415926545880506
//第999,999,997次计算
3.1415926525880504
//第999,999,998次计算
3.1415926545880506
//第999,999,999次计算
3.1415926525880504
//第1,000,000,000次计算
3.1415926545880506
xiaolinliu56
2010-03-04 · TA获得超过250个赞
知道小有建树答主
回答量:296
采纳率:0%
帮助的人:252万
展开全部
下面是C语言写的一个计算圆周率的方法,你参考一下(其中cout是用来输出的):
/*
计算π值的公式为:
π = 2 + 2/3 + 2/3*2/5 + 2/3*2/5*3/7 + ...
*/
//求PAI小数点后DISPCNT位
void pai()
{
int i = 0;
const ARRSIZE=2010, DISPCNT=2000;
char x[ARRSIZE], z[ARRSIZE];
int a=1, b=3, c, d, Run=1, Cnt=0;
for (i = 0; i < ARRSIZE; i ++)
{
x[i] = 0;
z[i] = 0;
}
x[1] = 2;
z[1] = 2;

while(Run && (++Cnt<200000000))
{
d = 0;
for(i=ARRSIZE-1; i>0; i--)
{
c = z[i]*a + d;
z[i] = c % 10;
d = c / 10;
}
d = 0;
for(i=0; i<ARRSIZE; i++)
{
c = z[i]+d*10;
z[i] = c / b;
d = c % b;
}
Run = 0;
for(i=ARRSIZE-1; i>0; i--)
{
c = x[i] + z[i];
x[i] = c%10;
x[i-1] += c/10;
Run |= z[i];
}
a++;
b+=2;
}
cout<<(int)x[1]<<".";
for(i=0; i<DISPCNT; i++)
{
if(i && (i%76==0))
cout<<"\n";
cout<<(int)x[i+2];
}
cout<<"\n";
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
aishiqiang
2010-03-04 · TA获得超过460个赞
知道小有建树答主
回答量:219
采纳率:0%
帮助的人:131万
展开全部
public class Test {
public static void main(String args[]) {
long time = System.currentTimeMillis();
Pi pi = new Pi(200000000);
pi.comput();
System.out.println(pi.getPi());
System.out.println("消耗时间>>" + (System.currentTimeMillis() - time));
}
}

class Pi {
private double pi;
private int count;

public Pi() {

}

public Pi(int count) {
this.count = count;
}

public int getCount() {
return count;
}

public void setCount(int count) {
this.count = count;
}

public double getPi() {
return pi;
}

public void comput() {
pi = 1;
int max = count * 2 + 1;

for (int i = 3; i <= max; i = i + 4) {
pi -= 1d / i;
}
for (int i = 5; i <= max; i = i + 4) {
pi += 1d / i;
}

pi *= 4;
}
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
問猪笑了冇
2010-03-04 · TA获得超过220个赞
知道答主
回答量:108
采纳率:0%
帮助的人:87.9万
展开全部
你想干嘛?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式