Java小程序計算圓周率代碼
下面我們來介紹兩種Java編程中實(shí)現(xiàn)計算圓周率的方法。
方法一:割圓法
計算公式為:
π≈3*2^n*y_n
其中,n代表割圓次數(shù),y_n代表圓中內(nèi)嵌正6*n邊形的邊長
package 計算π的近似值; import java.util.Scanner; public class Example { public static void main(String[] args) { Scanner scan=new Scanner(System.in); System.out.println("請輸入割圓次數(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é)果:
請輸入割圓次數(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
方法二:無窮級數(shù)法
求圓周率π的級數(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 計算π的近似值; import java.util.Scanner; public class Example1 { public static void main(String[] args) { Scanner scan=new Scanner(System.in); System.out.println("請輸入精度:"); 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; } }
輸出為:
請輸入精度: 1E-15 在精度為1.0E-15的條件下,π約等于: 3.141592653589792
總結(jié)
以上是圓周率π的計算方法的全部內(nèi)容,希望對大家有所幫助!
相關(guān)文章
SpringBoot詳解如何實(shí)現(xiàn)讀寫分離
當(dāng)響應(yīng)的瓶頸在數(shù)據(jù)庫的時候,就要考慮數(shù)據(jù)庫的讀寫分離,當(dāng)然還可以分庫分表,那是單表數(shù)據(jù)量特別大,當(dāng)單表數(shù)據(jù)量不是特別大,但是請求量比較大的時候,就要考慮讀寫分離了.具體的話,還是要看自己的業(yè)務(wù)...如果還是很慢,那就要分庫分表了...我們這篇就簡單講一下讀寫分離2022-05-05Spring Boot利用Java Mail實(shí)現(xiàn)郵件發(fā)送
這篇文章主要為大家詳細(xì)介紹了Spring Boot利用Java Mail實(shí)現(xiàn)郵件發(fā)送,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2020-02-02?基于Java解決華為機(jī)試之字符串合并處理實(shí)操
這篇文章主要介紹了基于Java解決華為機(jī)試之字符串合并處理,文章以實(shí)操展開主題內(nèi)容,具有一的參考價值,需要的小伙伴可以參考一下,希望對工作中的你有所幫助2022-02-02SpringBoot實(shí)現(xiàn)對Http接口進(jìn)行監(jiān)控的代碼
Spring Boot Actuator是Spring Boot提供的一個模塊,用于監(jiān)控和管理Spring Boot應(yīng)用程序的運(yùn)行時信息,本文將介紹一下Spring Boot Actuator以及代碼示例,以及如何進(jìn)行接口請求監(jiān)控,需要的朋友可以參考下2024-07-07