iT邦幫忙

2

趣味SQL 又來了! Pi Day 剛過一陣子 用SQL 逼近算Pi

Pi Day 剛過一陣子, 來挑戰用SQL逼近算Pi.
可以試試看用遞迴方式喔.

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

2 個回答

0
小魚
iT邦大師 1 級 ‧ 2020-03-23 20:26:34

Pi Day是什麼?
3/14嗎?
說起來我好像不記得Pi怎麼算... XD

淺水員 iT邦大師 6 級 ‧ 2020-03-23 21:16:39 檢舉

這個收斂速度不是最快的:https://zh.wikipedia.org/wiki/%CE%A0%E7%9A%84%E8%8E%B1%E5%B8%83%E5%B0%BC%E8%8C%A8%E5%85%AC%E5%BC%8F
其他可以再找找

小魚你不必這樣強答的.
與其這樣什麼都參一咖,發些水文賺點數,不如好好把基本的多學學.

0
huanwen
iT邦新手 5 級 ‧ 2020-03-24 11:42:27

大大您好,小弟用T-SQL和蒙地卡羅方法,跑一千萬次:

DECLARE @counter int, @sum int, @x float, @y float;  
SET @counter = 0;
SET @sum = 0;  
WHILE @counter < 10000000
BEGIN  
    SET @x = RAND();
	SET @y = RAND();

	IF @x*@x + @y*@y < 1
		SET @sum = @sum + 1;

    SET @counter = @counter + 1;
END;
SELECT CAST(@sum*4 AS float) / @counter as MY_PI, PI() SYS_PI

結果還是差滿多的:
https://ithelp.ithome.com.tw/upload/images/20200324/201197416hNYvgEY12.png

蠻有意思的方法喔.

我要發表回答

立即登入回答