자바 pi 계산 여러 가지 방법

3203 단어 자바π계산 pi
π 를 계산 하 는 방법 
몬 테 카 를 로 법
이런 방법 은 컴퓨터 랜 덤 수의 기능 을 이용 하여'랜 덤 수'를 바탕 으로 하 는 알고리즘 으로 단위 원 에 떨 어 진 점 과 정사각형 에 떨 어 진 점 의 비례 를 계산 하여 π 를 구 하 는 것 이다.
在这里插入图片描述
도형 의 대칭 성 때문에 우 리 는 이 그림 의 4 분 의 1 부분 을 고려 해 야 한다.
한 점 을 정사각형 에 골 고루 던 질 수 있다 고 가정 하고 그 안에 떨 어 진 점 의 개 수 를 계산한다.그 중 에 원 을 자 르 는 점 에 떨 어 진 개 수 를 계산 합 니 다.
만약 에 모두 N 개의 점 을 투입 하면 그 중에서 M 개가 원 에 떨 어 지면 점 이 고 르 기만 하면 원주 의 반지름 이 R 이 라 고 가정 하면:
在这里插入图片描述
이 방법 은 pi 의 정 도 를 얻 으 려 면 투입 점 의 개수 와 관련 이 있 고 보통 개수 가 많 을 때 정밀도 가 비교적 높다.
자바 코드:pi 를 무 작위 로 계산 하 는 프로그램

public class RandomPI {
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        System.out.println(rand_pi(100000));  //     
    }
    public static double rand_pi(int n) {
        int numInCircle = 0;
        double x, y;
        double pi;
        for(int i=0;i < n; i++){
            x = Math.random();
            y = Math.random();
            if(x * x + y * y < 1) 
                numInCircle++;
        }
        pi=(4.0 * numInCircle) / n;
        return pi;
    }
在这里插入图片描述
이 방법 은 투입 점 의 개수 가 클 수록 실제 값 에 가 까 워 지 는 것 을 알 수 있다.
2.수학 공식(급수)
수학 공식 에서
在这里插入图片描述
자바 코드:pi 를 무 작위 로 계산 하 는 프로그램

public class MathPi {
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        System.out.println(math_Pi(1000));//     
    }
    public static double math_Pi(int n) {
        int numInCircle = 0;
        double sum = 0;
        double pi;
        for(int i=1;i <= n; i++){
            sum += 1.0/(i*i);
        }
        pi = Math.sqrt(sum * 6);
        return pi;
    }
}
n 이 1000 을 얻 었 을 때 n=1000 에 가 까 워 졌 을 때 pi=3.14063805605946.
3.격자 계산 pi
在这里插入图片描述
그림 을 n*n 개의 작은 사각형 으로 나 누 어 원 안에 떨 어 진 개 수 는 모든 사각형 의 비례 열 을 차지한다.
자바 코드:pi 를 무 작위 로 계산 하 는 프로그램

public class gridPI {
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        System.out.println(grid_Pi(10));//     
    }
    public static double grid_Pi(int n) {
        int i;
        double sum=0;
        for(i = 0;i < n; i++)
            sum += (int)Math.sqrt(n*(double)n-i*(double)i);
        return (4.0 * sum)/n/n;
    }
}
在这里插入图片描述
자바 컴 퓨 팅 pi 의 여러 가지 방법 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.당신 에 게 도움 이 되 기 를 바 랍 니 다.더 많은 관련 컴 퓨 팅 원주율 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 조회 하 시기 바 랍 니 다.앞으로 많은 응원 바 랍 니 다!

좋은 웹페이지 즐겨찾기