java的圆周率_java学习日记,圆周率的打印
前段時間看到聽說學習java每天寫技術貼會對自己提升很大,我現在學習java也就2個周,算不上技術貼,就寫寫學習日記吧。
昨天師傅給我出了一道題,說是試試用java打印圓周率。
剛開始我的思路是,如果一個多邊形的邊數無限多,那么這個多邊形就會無限靠近一個圓,那么用周長除以這個多邊形的對角線就得到了圓周率的大概值,如果邊數越多,那么得到的圓周率就越精確。
剛開始研究了老半天,最后一直找不到在邊數增多的情況下,每條邊的長度和對角線長度的對應關系。后來無奈,只有上網查了老祖宗?祖沖之及其各個外國友人的祖宗的一系列方法,最后拿到這個這個數學公式pi/4=1/1-1/3+1/5-1/7+1/9-1/11...
最后決定用程序把他寫出來,想法步驟如下:
?1.想辦法簡化這個數學公式,容易讓程序寫出來,簡化公式得到如下
pi/4=2/1*3+2/5*9+2/11*13.....
也就是當i為0 2 4 6 8
10的時候用(2*i+1)*(2*(i+1)+1)可以得到1*3,5*9,11*13這樣的公式?
等式右邊,分子始終是固定的,2;?分母則是奇數每兩個相乘。
圓周率的四分之一則等于所有的分式相加的和,分數越多,結果則越靠近圓周率。
2.?那么,程序代碼步驟大概如下
1)定義加多少次分數乘以二。?
2)?定義分子。
3)因為pi是一個相加的結果,定義變量pi,并初始化為0.0
4)?當i為0 2
4 6
8的時候,也就是i對2求余等于0的時候,把(2*i+1)*(2*(i+1)+1)賦值給分母
?5)將pi加上分子除以分母的值賦值給pi,一直循環4
5,循環次數越多得到的pi的值越精確
6)因為得到的值是pi的四分之一,所以打印的時候,將結果乘以4就是我們算出來的圓周率的值。
附上代碼:
java打印圓周率代碼
???最后發現一個問題,當分數累加和到達20000個之后,圓周率又開始不準確了,沒有找到解決的辦法。看看在以后的學習中是否找到更好的方法。
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的java的圆周率_java学习日记,圆周率的打印的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php5.3 with-mysql ce
- 下一篇: python教程怎么抓起数据_介绍pyt