1、无穷级数计算 p = 1 - 1/3 + 1/5 -1/7+..... π=4p

2、使用 Nilakantha 级数 π = 3 + 4/(2*3*4) - 4/(4*5*6) + 4/(6*7*8) - 4/(8*9*10) + 4/(10*11*12) - (4/(12*13*14) .....

3、假设有一个圆半径为1,所以四分之一圆面积就为PI,而包括此四分之一圆的正方形面积就为1,

如果随意的在正方形中投射飞标(点)好了,则这些飞标(点)有些会落于四分之一圆内,假设所投射的飞标(点)有n点,在圆内的飞标(点)有c点,则依比例来算。

public class Main {

public static void main(String[] args) {

gailv();

}

//无穷级数计算 1 - 1/3 + 1/5 -1/7+.....

public static void wuqiongjishu() {

double p1 = 1, p2 = 0;

double i = 1;

double flag = 1;

double diff = Math.pow(0.1, 9);

while (Math.abs(p1 - p2) >= diff) {

i += 2;

flag = -flag;

p2 = p1;

p1 = p1 + flag / i;

}

System.out.println(p1 * 4);

}

public static void gailv() {

int N = (int)Math.pow(2,25);

double a[] = new double[N];

double b[] = new double[N];

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

a[i] = Math.random();

b[i] = Math.random();

}

int cnt = 0;

for (int i=0;i

double c = a[i] * a[i] + b[i]*b[i];

if (c<=1){

cnt ++;

}

}

System.out.println(4.0*cnt/N);

}

}

java中pi_Java-Pi的几种实现相关推荐

  1. JDOM是JAVA中最常用的一种解析XML的工具

    JDOM是JAVA中最常用的一种解析XML的工具,我们可以从JDOM的官方网站www.jdom.org 下载JDOM1.0.ZIP压缩包,将其解压,将JDOM.JAR文件配置到classpath当中去 ...

  2. java直接调用复制文件,java中文件复制的4种方式,java文件的复制

    java中文件复制的4种方式,java文件的复制 今天一个同事问我文件复制的问题,他一个100M的文件复制的指定目录下竟然成了1G多,吓我一跳,后来看了他的代码发现是自己通过字节流复制的,定义的字节数 ...

  3. Java中HashMap遍历的两种方式

    第一种: Map map = new HashMap(); Iterator iter = map.entrySet().iterator(); while (iter.hasNext()) { Ma ...

  4. Java中创建数组的几种方法

    Java中创建数组的几种方法 public static void main(String[] args) { //创建数组的第一种方法 int[] arr=new int[6]; int intVa ...

  5. 在 Java 中初始化 List 的五种方法

    转载自  在 Java 中初始化 List 的五种方法 Java 中经常需要使用到 List,下面简单介绍几种常见的初始化方式. 1.构造 List 后使用 List.add 初始化 List< ...

  6. 高级 | Java中获取类名的3种方法

    转载自 高级 | Java中获取类名的3种方法 获取类名的方法 Java 中获取类名的方式主要有以下三种. getName() 返回的是虚拟机里面的class的类名表现形式. getCanonical ...

  7. JAVA中集合输出的四种方式

    在JAVA中Collection输出有四种方式,分别如下: 一) Iterator输出. 该方式适用于Collection的所有子类. public class Hello {public stati ...

  8. Java中List集合的三种遍历方式(全网最详)

    Map集合:链接: Map集合的五种遍历方式及Treemap方法 Set集合:链接: Java中遍历Set集合的三种方法 TreeSet集合:链接: Java深入了解TreeSet,和迭代器遍历方法 ...

  9. Java中String字符串截取几种方法(substring,split)

    Java中String字符串截取几种方法 substring,split 这是一个Java中的String的基础用法的演示. 下面通过代码对大家进行讲解 substring 这里用来ndexOf,la ...

  10. java中Map遍历的四种方式

    java中Map遍历的四种方式 在java中所有的map都实现了Map接口,因此所有的Map(如HashMap, TreeMap, LinkedHashMap, Hashtable等)都可以用以下的方 ...

最新文章

  1. 炫技,从12.67s到1.06s的网站性能优化实战
  2. 为什么我能从普通程序员干到大厂总监?
  3. 03-老马jQuery教程-DOM操作(上)
  4. linux中间隔10ping一次脚本,linux批量ping脚本shell
  5. 写在方法中的路由跳转
  6. Boost:aligned delete对齐删除的测试程序
  7. ASP.NET的地址重写“.NET研究”(URLRewriter)实现原理及代码示例
  8. Java工程师必备技能
  9. mybatis配置insert/update/delete同一个模板
  10. mysql管理数据 并上传至云端_怎样将MySQL数据库上传到服务器
  11. c语言小球触地问题,OC语言中关于触摸事件和手势
  12. 黑马程序员-学习日志-文件的合并
  13. 【华人学者风采】魏少军 清华大学
  14. 电商时代得流量者得天下,思域流量要怎么做
  15. 容器-Docker《二》命令帮助镜像管理
  16. 计算机音乐数字谱抖音,抖音计算器谱子有哪些 计算器音乐乐谱大全
  17. 一个算法工程师的日常是怎样的?
  18. 基于Java图书馆管理系统、JAVA图书借阅系统设计与实现 毕业设计开题报告
  19. 利用html加css以及JavaScript写一个学生后台管理系统简单平台
  20. WebMagic Java爬虫框架初探

热门文章

  1. WF4 持久化 第四篇
  2. Centos6.5集群安装64位hadoop2.2.0
  3. ARM1176JZF-S/S3C6410 内存地址转换
  4. asp.net的一个不错日期控件
  5. 【译】Withdrawal symptoms
  6. Jmeter CSV 参数化/检查点/断言
  7. 一些对制作网站有帮助的站点
  8. Codeforces 486D. Valid Sets
  9. BootStrap_01之全局样式
  10. 安装VS2010 无法打开数据文件'C:\Users\Administrator\AppData\Local\Temp\SIT12124.tmp\deffactory.dat的解决方法...