面試的時候面試官寫一段程序來求圓周率,想來覺得蠻有趣的毒费,這里便記錄一下后面所了解到的方法。
- 萊布尼茲公式
Pi的萊布尼茲公式
具體證明參考--萊布尼茲公式的證明
有了這個公式后面的就不需要說了吧...幾行代碼的的事睦番。
- 蒙特卡洛算法
這個就很厲害了感覺当窗,蒙特卡洛算法也稱統(tǒng)計模擬學,利用概率統(tǒng)計理論來進行數(shù)值運算萄唇。
這里的解決方式很簡單檩帐,假定構造邊長為2一個正方形,內置以半徑為1的圓另萤,然后進行投點統(tǒng)計湃密,假設投10W個點诅挑,統(tǒng)計出圓內的點有多少個,再利用幾何概率模型得到概率泛源,進而算出圓周率拔妥。
pi = 4 * ( n / m)
- 梯度下降法
工程師福音。
思路就是構造一個把Pi看做未知數(shù)的不等式达箍,對其求偏導没龙,以步進的方式漸漸逼近我所希望求得的值。 詳情可看另一篇關于梯度下降法的文章幻梯。
- hadoop
Hadoop 自帶求圓周率的示例程序...