→ danielko:thanks a lot 推 140.112.18.107 11/04
※ 引述《danielko (普物爆炸了.....)》之銘言:
: 這題是要算int的最大值
: 我不知道哪裡錯了
: 執行的時候電腦就卡在那邊沒有結果
: help..........
: 以下是function
: int fibonacci( int y )
: {
: int hold1 = 0;
: int hold2 = 1;
: int value = 1;
: int limit = INT_MAX;
: while ( value <= limit ) {
: value = hold1 + hold2;
: hold1 = hold2;
: hold2 = value;
: }
: return value;
: }
當你的hold2即將超過INT_MAX時
他再加一數就會跑到負值去
這樣應該就知道為何會死當了吧...
另外,這題似乎不用寫程式出來(題目沒講清楚)
--
┌──╮ ∫ ╭╮
│ │╭─╮ ╭ ╭─ ─┼╯╭──╮ ╭─╮ ╭╮ ╭
├─┬╯│ │ │ ├─╮ ╰─╮ / │ │ ╭╯ │ │ ╭╯│││
│╴│╭┴─┤ │ │ │/╭--│/ │ │ │ ╭┴─┤╭╯ │││
╰╯╰╯ ╰──╯──╯ ╰|╰─╯ ╰─╯ ╰─╯ ╰╯ ╰┴╯
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.167.191.198