A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 张会文 中级黑马   /  2013-1-2 14:06  /  2360 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 张会文 于 2013-1-2 17:54 编辑

要求:
用java编写程序求π值。π的计算公式如下:
                                  π=16arctan(1/5)-4arctan(1/293)
其中acrtan用如下形式的级数计算:
                                                                                 ∞
                                 arctan(x)=x/1-x[sup]3[/sup]/3+x[sup]5[/sup]/5+……=∑(-1)[sup]n[/sup]x[sup]2n+1[/sup]/(2n+1)
                                                                                     n=0
直到级数某项绝对值不大于10[sup]-15[/sup]为止。这里π和x均为double型。

3 个回复

倒序浏览
System.out.println(16*Math.atan(1/5.0)-4*Math.atan(1/239.0));
回复 使用道具 举报
本帖最后由 刘文超 于 2013-1-2 15:04 编辑

算出来啦,结果正确的!
  1. package org.qyx.online;

  2. public class TestArctan {

  3.         /**
  4.          * @author 刘文超
  5.          *
  6.          *@category
  7.          * 用java编写程序求π值。π的计算公式如下:用java编写程序求π值。
  8.          * π=16arctan(1/5)-4arctan(1/293)
  9.          * 其中acrtan用如下形式的级数计算:
  10.          * arctan(x)=x/1-x3/3+x5/5+……=∑(-1)nx2n+1/(2n+1)
  11.          * 直到级数某项绝对值不大于10-15为止。这里π和x均为double型。
  12.          */
  13.         
  14.         public static void main(String[] args) {
  15.                 double n=16*getArctan(1.0/5)-4*getArctan(1.0/293);
  16.                 System.out.println("结果为:"+n);
  17.         }
  18.         
  19.         public static double getArctan(double x){
  20.                 double esp=Math.pow(10, -15);//循环截止条件到10^-15
  21.                 double sum=0;//西格玛和初始化为0
  22.                 int n=0;
  23.                 double item=Math.pow(-1,n)*Math.pow(x, 2*n+1)/(2*n+1);//第一项
  24.                 while(Math.abs(item)>esp){
  25.                         sum+=item;//累加
  26.                         n++;
  27.                         item=Math.pow(-1,n)*Math.pow(x, 2*n+1)/(2*n+1);//n加1之后,要重新计算每一项
  28.                 }
  29.                 return sum;//返回西格玛和
  30.         }
  31. }
复制代码

aaaaaaaa.jpg (10.01 KB, 下载次数: 45)

aaaaaaaa.jpg

点评

为什么,这个值跟真实π值错哪呢多呢?  发表于 2013-1-2 15:39

评分

参与人数 1技术分 +1 收起 理由
古银平 + 1 神马都是浮云

查看全部评分

回复 使用道具 举报
本帖最后由 刘文超 于 2013-1-2 15:48 编辑

按照题目给定的计算公式很准的呀、你看计算器也得这些额~{:soso_e121:}

ddddddddd.jpg (19.91 KB, 下载次数: 38)

ddddddddd.jpg
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马