1. 程式人生 > >Java資料結構:割圓術求Π

Java資料結構:割圓術求Π

利用割圓術,將一個圓分割成正多邊形,在利用多邊形邊長=圓周,求Π

import java.util.*;

public class 割圓術求Π {
	public static void main(String[] args) {
		int n;
		System.out.printf("輸入切割次數:");
		Scanner input = new Scanner(System.in);
		n = input.nextInt();
		cyclotomic(n);
	}

	private static void cyclotomic(int n) {
		int i, s;
		double k, len;
		i = 0;
		k = 3.0;		//乘積值
		len = 1.0;		//半徑
		s = 6;		//初始內接多邊形邊數
		while (i <= n) {
			System.out.printf("第%2d次切割,為正方形%5d邊形,PI=%.24f\n", i, s,k * Math.sqrt(len));
			s *= 2;
			len = 2 - Math.sqrt(4 - len);
			i++;
			k *= 2.0;
		}
	}
}