zoukankan      html  css  js  c++  java
  • java实现南北朝时

    • 南北朝时,我国数学家祖冲之首先把圆周率值计算到小数点后六位,比欧洲早了 1100 年!
    • 他采用的是称为“割圆法”的算法,实际上已经蕴含着现代微积分的思想。
      如图【1.jpg】所示,圆的内接正六边形周长与圆的周长近似。
      多边形的边越多,接近的越好!我们从正六边形开始割圆吧。
      如图【2.jpg】所示,从圆心做弦的垂线,可把 6 边形分割为 12 边形。
      该 12 边形的边长 a’的计算方法很容易利用勾股定理给出。
      之后,再分割为正 24 边形,…如此循环会越来越接近圆周。
      之所以从正六边开始,是因为此时边长与半径相等,便于计算。取半径值为 1,开始割圆吧!
      以下代码描述了割圆过程。
      程序先输出了标准圆周率值,紧接着输出了不断分割过程中多边形边数和所对应的圆周率逼近值。
    /*
    
    */
    public class Demo10_B21
    {
    public static void main(String[] args)
    {
    System.out.println("标准 " + Math.PI);
    double a = 1; 
    int n = 6;
    for(int i=0; i<10; i++)
    {
    double b = Math.sqrt(1-(a/2)*(a/2));
    a = Math.sqrt((1-b)*(1-b) + (a/2)*(a/2));
    n = n*2; //填空
    System.out.println(n + " " + n*a/2 ); // 填空
    }
    }
    }
    
    

    运行结果:
    标准 3.141592653589793
    12 3.105828541230249
    24 3.1326286132812378
    48 3.1393502030468667
    96 3.14103195089051
    192 3.1414524722854624
    384 3.141557607911858
    768 3.1415838921483186
    1536 3.1415904632280505
    3072 3.1415921059992717
    6144 3.1415925166921577

  • 相关阅读:
    基本MVVM 和 ICommand用法举例(转)
    WPF C# 命令的运行机制
    628. Maximum Product of Three Numbers
    605. Can Place Flowers
    581. Shortest Unsorted Continuous Subarray
    152. Maximum Product Subarray
    216. Combination Sum III
    448. Find All Numbers Disappeared in an Array
    268. Missing Number
    414. Third Maximum Number
  • 原文地址:https://www.cnblogs.com/a1439775520/p/13076346.html
Copyright © 2011-2022 走看看