Java小程序計(jì)算圓周率代碼
下面我們來(lái)介紹兩種Java編程中實(shí)現(xiàn)計(jì)算圓周率的方法。
方法一:割圓法
計(jì)算公式為:
π≈3*2^n*y_n
其中,n代表割圓次數(shù),y_n代表圓中內(nèi)嵌正6*n邊形的邊長(zhǎng)
package 計(jì)算π的近似值;
import java.util.Scanner;
public class Example {
public static void main(String[] args) {
Scanner scan=new Scanner(System.in);
System.out.println("請(qǐng)輸入割圓次數(shù):");
int n=scan.nextInt();
cut(n);
}
static void cut(int n){
double y=1.0;
for(int i=0;i<=n;i++){
double π=3*Math.pow(2, i)*y;
System.out.println("第"+i+"次切割,為正"+(6+6*i)+"邊形,圓周率π≈"+π);
y=Math.sqrt(2-Math.sqrt(4-y*y));
}
}
}
輸出結(jié)果:
請(qǐng)輸入割圓次數(shù): 12 第0次切割,為正6邊形,圓周率π≈3.0 第1次切割,為正12邊形,圓周率π≈3.1058285412302498 第2次切割,為正18邊形,圓周率π≈3.132628613281237 第3次切割,為正24邊形,圓周率π≈3.139350203046872 第4次切割,為正30邊形,圓周率π≈3.14103195089053 第5次切割,為正36邊形,圓周率π≈3.1414524722853443 第6次切割,為正42邊形,圓周率π≈3.141557607911622 第7次切割,為正48邊形,圓周率π≈3.141583892148936 第8次切割,為正54邊形,圓周率π≈3.1415904632367617 第9次切割,為正60邊形,圓周率π≈3.1415921060430483 第10次切割,為正66邊形,圓周率π≈3.1415925165881546 第11次切割,為正72邊形,圓周率π≈3.1415926186407894 第12次切割,為正78邊形,圓周率π≈3.1415926453212157
方法二:無(wú)窮級(jí)數(shù)法
求圓周率π的級(jí)數(shù)公式為:
Π=2*(1/1+1/3+1/3*2/5+1/3+2/5+3/7+1/3+2/5+3/7+4/9+···)
package 計(jì)算π的近似值;
import java.util.Scanner;
public class Example1 {
public static void main(String[] args) {
Scanner scan=new Scanner(System.in);
System.out.println("請(qǐng)輸入精度:");
double z=scan.nextDouble();
System.out.println("在精度為"+z+"的條件下,π約等于:\n"+jishuPI(z));
}
static double jishuPI(double z){
double sum=2;
int n=1;
int m=3;
double t=2;
while(t>z){
t=t*n/m;
sum=sum+t;
n++;
m+=2;
}
return sum;
}
}
輸出為:
請(qǐng)輸入精度: 1E-15 在精度為1.0E-15的條件下,π約等于: 3.141592653589792
總結(jié)
以上是圓周率π的計(jì)算方法的全部?jī)?nèi)容,希望對(duì)大家有所幫助!
相關(guān)文章
SpringBoot 簽到獎(jiǎng)勵(lì)實(shí)現(xiàn)方案的示例代碼
這篇文章主要介紹了SpringBoot 簽到獎(jiǎng)勵(lì)實(shí)現(xiàn)方案的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08
feign客戶端設(shè)置超時(shí)時(shí)間操作
這篇文章主要介紹了feign客戶端設(shè)置超時(shí)時(shí)間操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-09-09
Spring IOC的三種實(shí)現(xiàn)方式詳解
這篇文章主要介紹了Spring IOC的三種實(shí)現(xiàn)方式,在Spring框架中,IOC通過(guò)依賴注入來(lái)實(shí)現(xiàn),而依賴注入主要有三種實(shí)現(xiàn)方式,構(gòu)造器注入、Setter注入和字段注入,每種方式都有其特點(diǎn)、適用場(chǎng)景和優(yōu)缺點(diǎn),需要的朋友可以參考下2025-02-02
Java實(shí)現(xiàn)5種負(fù)載均衡算法(小結(jié))
負(fù)載均衡是將客戶端請(qǐng)求訪問(wèn),通過(guò)提前約定好的規(guī)則轉(zhuǎn)發(fā)給各個(gè)server,本文主要介紹了Java實(shí)現(xiàn)5種負(fù)載均衡算法,具有一定的參考價(jià)值,感興趣的可以了解一下2022-06-06
淺談springboot之JoinPoint的getSignature方法
這篇文章主要介紹了springboot之JoinPoint的getSignature方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-06-06

