[心得] 用 bash 算費氏數列,就當了

作者: Gold740716 (項為之強)   2016-04-23 21:12:19
無聊用各種方式實現費式數列,
然後用到了 bash 。
然後就當機了!
是寫在 .bashrc 裡。
source 了一次之後就有點頓,然後越來越頓。
我有一次 top 成功過,bash 吃的資源比 firefox 還多。
然後我連動個滑鼠都有問題, Ctrl Alt F2 竟然沒反應。
最後螢幕變雪花,強制關機。
當機應該和 bash 中用了遞迴有關,程式碼如下:
````````````````
febo(){
i=$1
(( j = i-1 , k = i-2 ))
if (( i <= 1 ))
then
echo 1
else
echo $(expr `febo $j` + `febo $k` )
fi
}
`````````````````
現在重開機了,有什麼要注意的嗎?
Fedora23 X LXDE ,開機過程沒有特別的訊息。
(我之前 ubuntu 斷電過一次,開機過程有顯示修復的訊息。)
作者: foo (大牛)   0000-00-00 00:00:00
這作者……
作者: void ( avoid)   0000-00-00 00:00:00
奇文共賞!!
作者: kenduest (小州)   2016-04-23 21:32:00
片段的程式碼無法提供有用的資訊
作者: chang505 (眼線)   2016-04-23 21:55:00
無窮迴圈是想幹嘛也沒有,只做一次,看錯
作者: Neisseria (Neisseria)   2016-04-23 22:24:00
用 Bash 做數字運算,除了練功外沒啥好處,玩玩就好
作者: rickieyang (Rickie Yang)   2016-04-23 23:18:00
你叫它算到第幾項當掉的?還有,第零項不是0嗎?
作者: CaptainH (Cannon)   2016-04-24 00:00:00
fork bomb...
作者: foo (大牛)   0000-00-00 00:00:00
這作者……
作者: void ( avoid)   0000-00-00 00:00:00
奇文共賞!!
作者: rickieyang (Rickie Yang)   2016-04-24 00:19:00
而且這程式邏輯不大對,50 會呼叫 49 48,49 呼叫 4847,48 呼叫 47 46,...,根本一直重複呼叫呀。49一次,48兩次,47三次,46四次,45五次...2會執行48次...
作者: Darkautism (達卡特森)   2016-04-24 00:55:00
最簡單的費氏數列確實是會跑48次啊 不想跑這麼多次就要暫存
作者: rickieyang (Rickie Yang)   2016-04-24 01:06:00
以50項來說,用教課書的寫法,該函數會被呼叫 1226次。簡單說費氏數列只適合給遞迴舉例用,真的要算費氏,還是用基本迴圈吧。
作者: danny8376 (釣到一隻猴子@_@)   2016-04-24 15:41:00
fork => echo $(expr `febo $j` + `febo $k` )這邊總共三個外部指令 會各會fork一次shell各自在跑各自的外部指令哎 不對 febo不是外部指令XD echo / expr
作者: foo (大牛)   0000-00-00 00:00:00
這作者……
作者: void ( avoid)   0000-00-00 00:00:00
奇文共賞!!
作者: EdwardGJLee (LGJ)   2016-04-25 09:31:00
http://tinyurl.com/kqc33xq就平常負荷重一點的 sh script,如果一不小心沒去最佳化,也是跑得很喘,尤其是 loop+呼叫外部程式時。
作者: foo (大牛)   0000-00-00 00:00:00
這作者……
作者: void ( avoid)   0000-00-00 00:00:00
奇文共賞!!
作者: foo (大牛)   0000-00-00 00:00:00
這作者……
作者: void ( avoid)   0000-00-00 00:00:00
奇文共賞!!
作者: foo (大牛)   0000-00-00 00:00:00
這作者……
作者: void ( avoid)   0000-00-00 00:00:00
奇文共賞!!
作者: foo (大牛)   0000-00-00 00:00:00
這作者……
作者: void ( avoid)   0000-00-00 00:00:00
奇文共賞!!
作者: foo (大牛)   0000-00-00 00:00:00
這作者……
作者: void ( avoid)   0000-00-00 00:00:00
奇文共賞!!
作者: foo (大牛)   0000-00-00 00:00:00
這作者……
作者: void ( avoid)   0000-00-00 00:00:00
奇文共賞!!
作者: foo (大牛)   0000-00-00 00:00:00
這作者……
作者: void ( avoid)   0000-00-00 00:00:00
奇文共賞!!
作者: foo (大牛)   0000-00-00 00:00:00
這作者……
作者: void ( avoid)   0000-00-00 00:00:00
奇文共賞!!
作者: foo (大牛)   0000-00-00 00:00:00
這作者……
作者: void ( avoid)   0000-00-00 00:00:00
奇文共賞!!
作者: foo (大牛)   0000-00-00 00:00:00
這作者……
作者: void ( avoid)   0000-00-00 00:00:00
奇文共賞!!
作者: foo (大牛)   0000-00-00 00:00:00
這作者……
作者: void ( avoid)   0000-00-00 00:00:00
奇文共賞!!
作者: foo (大牛)   0000-00-00 00:00:00
這作者……
作者: void ( avoid)   0000-00-00 00:00:00
奇文共賞!!
作者: foo (大牛)   0000-00-00 00:00:00
這作者……
作者: void ( avoid)   0000-00-00 00:00:00
奇文共賞!!
作者: foo (大牛)   0000-00-00 00:00:00
這作者……
作者: void ( avoid)   0000-00-00 00:00:00
奇文共賞!!

Links booklink

Contact Us: admin [ a t ] ucptt.com