用Java语法,采用割圆术计算圆周率,即对一个圆先割出一个正方形,再割出4个等腰三角形,再割出8个等腰三角形,后面依此类推,把这些割出的图形面积相加即为圆的面积,然后除以圆的半径的平方,最终得到圆周率。编写一段java代码,可以运行?
请问你的问题在哪里呢?技术还是算法?
代码如下:
public class Test{
public static void main(String[] args) {
System.out.printf("圆周率为:");
double b= 1;
double result = Pi(b);
System.out.printf("%f",result);
}
private static double Pi(double b) {
int n = 6;
double π=0;
while (b>1e-6){
n*=2;
b = Math.sqrt(2-Math.sqrt(4-b*b));
π = n*b/2;
}
return π;
}
}