자바 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 의 여러 가지 방법 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.당신 에 게 도움 이 되 기 를 바 랍 니 다.더 많은 관련 컴 퓨 팅 원주율 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 조회 하 시기 바 랍 니 다.앞으로 많은 응원 바 랍 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Is Eclipse IDE dying?In 2014 the Eclipse IDE is the leading development environment for Java with a market share of approximately 65%. but ac...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.