看板 NTUEE108HW 關於我們 聯絡資訊
※ 引述《timrau (誰要玩netset?)》之銘言: : ※ 引述《Keven (Keven)》之銘言: : : 我用int時可以印出最大的Fibonacci number : : 可是使用double時卻跑不出來 : : 以下是我的程式碼 : : for( double Counter=2; Counter<=99999; Counter++ ){ : : Fib = X + Y; : : if( Fib <=0 ) : : break; : : X = Y; : : Y = Fib; : : } : : cout << "The largest double Fibonacci number that can be printed is " << Y < : : < endl; : : 有那位天才的同學可以告訴我錯在那嗎? : 前面先#include <cfloat> : 再把if(Fib<=0) : 改成if(Fib>=DBL_MAX) : 這樣應該就行了 可是我是以有沒有超過double的精確度來判斷有沒有溢位~"~ 這樣應該沒關係吧... 例如35353535他如果儲存成3.53535*10^7那他前面那個數的地方就已經溢位啦... 就像是計算機位數不夠一樣... -- 誠如你所見.... 作為一個廢渣.... ......被丟在垃圾場也是很正常的吧 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.240.157